XMLStorage header file. More...
#include <wchar.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <assert.h>
#include <fstream>
#include <sstream>
#include <string>
#include <stack>
#include <list>
#include <map>
Go to the source code of this file.
Classes | |
struct | XMLStorage::TmpHeap |
struct | XMLStorage::XS_String |
string class for TCHAR strings More... | |
struct | XMLStorage::tifstream |
struct | XMLStorage::tofstream |
struct | XMLStorage::XMLLocation |
location of XML Node including XML file name More... | |
struct | XMLStorage::XMLError |
XML Error with message and location. More... | |
struct | XMLStorage::XMLErrorList |
list of XMLError entries More... | |
struct | XMLStorage::StyleSheet |
XML Stylesheet entry. More... | |
struct | XMLStorage::StyleSheetList |
list of StyleSheet entries More... | |
struct | XMLStorage::DocType |
XML document type description. More... | |
struct | XMLStorage::XMLFormat |
Management of XML file headers and formating. More... | |
struct | XMLStorage::HeaderlessXMLFormat |
struct | XMLStorage::XS_SMNode |
struct | XMLStorage::XS_StringMap |
struct | XMLStorage::XS_StringMap::iterator |
struct | XMLStorage::XS_StringMap::const_iterator |
struct | XMLStorage::XPathElement |
struct | XMLStorage::XPath |
struct | XMLStorage::XMLNode |
in memory representation of an XML node More... | |
struct | XMLStorage::XMLNode::AttributeMap |
map of XML node attributes More... | |
struct | XMLStorage::XMLNode::Children |
internal children node list More... | |
struct | XMLStorage::XMLChildrenFilter |
iterator access to children nodes with name filtering More... | |
struct | XMLStorage::XMLChildrenFilter::iterator |
internal iterator class More... | |
struct | XMLStorage::const_XMLChildrenFilter |
read only iterator access to children nodes with name filtering More... | |
struct | XMLStorage::const_XMLChildrenFilter::const_iterator |
internal iterator class More... | |
struct | XMLStorage::XMLPos |
iterator for XML trees More... | |
struct | XMLStorage::const_XMLPos |
iterator for XML trees More... | |
struct | XMLStorage::XMLReaderBase |
XML reader base class. More... | |
struct | XMLStorage::XMLReader |
XML file reader. More... | |
struct | XMLStorage::ReadBuffer |
struct | XMLStorage::ParseContext |
struct | XMLStorage::XMLDoc |
XML document holder. More... | |
struct | XMLStorage::XMLStateReader |
struct | XMLStorage::XMLStreamReader |
struct | XMLStorage::XMLStreamChildrenIterator |
read only iterator access to XMLStreamReader nodes More... | |
struct | XMLStorage::XMLStreamChildrenIterator::const_iterator |
internal iterator class More... | |
struct | XMLStorage::XMLStreamChildrenFilter |
read only iterator access to children nodes to XMLStreamReader nodes with name filtering More... | |
struct | XMLStorage::XMLStreamChildrenFilter::const_iterator |
internal iterator class More... | |
struct | XMLStorage::XMLBool |
type converter for boolean data More... | |
struct | XMLStorage::XMLBoolRef |
type converter for boolean data with write access More... | |
struct | XMLStorage::XMLInt |
type converter for integer data More... | |
struct | XMLStorage::XMLIntRef |
type converter for integer data with write access More... | |
struct | XMLStorage::XMLInt64 |
type converter for integer data More... | |
struct | XMLStorage::XMLInt64Ref |
type converter for integer data with write access More... | |
struct | XMLStorage::XMLDouble |
type converter for numeric data More... | |
struct | XMLStorage::XMLDoubleRef |
type converter for numeric data with write access More... | |
struct | XMLStorage::XMLString |
type converter for string data More... | |
struct | XMLStorage::XMLStringRef |
type converter for string data with write access More... | |
struct | XMLStorage::XMLProperty |
a key/value pair for property data access More... | |
struct | XMLStorage::XMLPropertyReader |
utility class to read property settings from a XML tree More... | |
struct | XMLStorage::XMLPropertyReader::const_iterator |
internal iterator class More... | |
struct | XMLStorage::XMLMessage |
XML message wrapper. More... | |
struct | XMLStorage::XMLMessageFromString |
helper structure to read XML messages from strings More... | |
struct | XMLStorage::XMLMessageReader |
Reader for XML Messages. More... | |
struct | XMLStorage::XMLWriter |
on the fly XML writer More... | |
struct | XMLStorage::XMLWriter::StackEntry |
container for XMLWriter state information More... | |
Namespaces | |
namespace | XMLStorage |
Defines | |
#define | XS_STRING_UTF8 |
#define | XS_NATIVE |
#define | TEXT(x) x |
#define | _ttoi atoi |
#define | _tfopen fopen |
#define | _tcstod strtod |
#define | _tcslen strlen |
#define | _tcsstr strstr |
#define | _snprintf snprintf |
#define | _sntprintf snprintf |
#define | _vsnprintf vsnprintf |
#define | _vsntprintf vsnprintf |
#define | _stricmp strcasecmp |
#define | _tcsicmp strcasecmp |
#define | strnicmp strncasecmp |
#define | _tcsnicmp strncasecmp |
#define | BUFFER_LEN 2048 |
#define | BUFFER_HUGE 0x7F80 |
#define | ALLOCA_MAX 0x10000 |
#define | XS_CHAR char |
#define | XS_TEXT(x) x |
#define | LPXSSTR LPSTR |
#define | LPCXSSTR LPCSTR |
#define | XS_cmp strcmp |
#define | XS_icmp _stricmp |
#define | XS_ncmp strncmp |
#define | XS_nicmp strnicmp |
#define | XS_toi atoi |
#define | XS_toi64 _atoi64 |
#define | XS_tod strtod |
#define | XS_len strlen |
#define | XS_snprintf _snprintf |
#define | XS_vsnprintf _vsnprintf |
#define | XS_vsnprintf_s _vsnprintf_s |
#define | XS_strstr strstr |
#define | COUNTOF(b) (sizeof(b)/sizeof(b[0])) |
#define | TMP_ALLOC(T, b, h, l) |
#define | XS_EMPTY_STR XS_TEXT("") |
#define | XS_TRUE_STR XS_TEXT("true") |
#define | XS_FALSE_STR XS_TEXT("false") |
#define | XS_INTFMT_STR XS_TEXT("%d") |
#define | XS_INT64FMT_STR XS_TEXT("%I64d") |
#define | XS_FLOATFMT_STR XS_TEXT("%f") |
#define | XS_KEY_STR XS_TEXT("key") |
#define | XS_VALUE_STR XS_TEXT("value") |
#define | XS_PROPERTY_STR XS_TEXT("property") |
#define | XS_EMPTY XS_EMPTY_STR |
#define | XS_TRUE XS_TRUE_STR |
#define | XS_FALSE XS_FALSE_STR |
#define | XS_INTFMT XS_INTFMT_STR |
#define | XS_INT64FMT XS_INT64FMT_STR |
#define | XS_FLOATFMT XS_FLOATFMT_STR |
#define | CDATA_START "<![CDATA[" |
#define | CDATA_END "]]>" |
#define | XML_INDENT_SPACE " " |
#define | _XMLSTORAGE_H |
Typedefs | |
typedef char | CHAR |
typedef __wchar_t | WCHAR |
typedef unsigned char | UCHAR |
typedef char * | LPSTR |
typedef const char * | LPCSTR |
typedef WCHAR * | LPWSTR |
typedef const WCHAR * | LPCWSTR |
typedef char | TCHAR |
typedef unsigned char | _TUCHAR |
typedef CHAR * | PTSTR |
typedef CHAR * | LPTSTR |
typedef const CHAR * | LPCTSTR |
typedef std::ostringstream | XMLStorage::fast_ostringstream |
Enumerations | |
enum | XMLStorage::PRETTY_FLAGS { XMLStorage::PRETTY_PLAIN = 0, XMLStorage::PRETTY_LINEFEED = 1, XMLStorage::PRETTY_INDENT = 2 } |
enum | XMLStorage::WRITE_MODE { XMLStorage::FORMAT_PLAIN, XMLStorage::FORMAT_SMART, XMLStorage::FORMAT_ORIGINAL, XMLStorage::FORMAT_PRETTY } |
Functions | |
const char * | XMLStorage::get_xmlsym_end_utf8 (const char *p) |
LPCXSSTR | XMLStorage::safe_skip_space (LPCXSSTR s) |
template<typename T > | |
XS_String | XMLStorage::from_utf8 (const T &s) |
XS_String | XMLStorage::from_utf8 (const char *s, size_t l) |
std::string | XMLStorage::EncodeXMLString (const XS_String &str, bool cdata) |
encode XML string literals | |
XS_String | XMLStorage::DecodeXMLString (const std::string &str_utf8) |
decode XML string literals | |
template<typename T > | |
void | XMLStorage::read_option (T &var, const_XMLPos &cfg, LPCXSSTR key) |
template<> | |
void | XMLStorage::read_option (int &var, const_XMLPos &cfg, LPCXSSTR key) |
XMLStorage header file.
Definition in file xmlstorage.h.
#define _snprintf snprintf |
Definition at line 209 of file xmlstorage.h.
#define _sntprintf snprintf |
Definition at line 210 of file xmlstorage.h.
#define _stricmp strcasecmp |
Definition at line 213 of file xmlstorage.h.
Referenced by XMLStorage::XMLFormat::print_header(), and XMLStorage::ParseContext::process_next().
#define _tcsicmp strcasecmp |
Definition at line 214 of file xmlstorage.h.
Referenced by StartMenu::AddEntry(), StartMenu::AddShellEntries(), ExplorerCmd::EvaluateOption(), get_windows_version_str(), BookmarkList::import_IE_favorites(), FileChildWindow::jump_to_int(), and ShellDirectory::read_directory().
#define _tcslen strlen |
Definition at line 207 of file xmlstorage.h.
Referenced by FileChildWindow::FileChildWindow(), ShellDirectory::fill_w32fdata_shell(), Entry::get_path_base(), FileChildWindow::jump_to_int(), XMLStorage::XPathElement::parse(), ShellDirectory::read_directory(), RegDirectory::read_directory(), FATDirectory::read_directory(), and RecursiveCreateDirectory().
#define _tcsnicmp strncasecmp |
Definition at line 216 of file xmlstorage.h.
Referenced by FindProgramDlg::collect_programs_callback(), MainFrameBase::ExecuteCommandbar(), MDIShellBrowserChild::jump_to_int(), FileChildWindow::jump_to_int(), XMLStorage::XPathElement::parse(), and SplitFileSysURL().
#define _tcsstr strstr |
Definition at line 208 of file xmlstorage.h.
Referenced by _tWinMain(), FindProgramDlg::add_entry(), FavoritesMenu::AddEntries(), StartMenu::AddShellEntries(), and MDIMainFrame::WndProc().
#define _tcstod strtod |
Definition at line 206 of file xmlstorage.h.
#define _tfopen fopen |
Definition at line 205 of file xmlstorage.h.
#define _ttoi atoi |
Definition at line 204 of file xmlstorage.h.
Referenced by XMLStorage::XPathElement::parse().
#define _vsnprintf vsnprintf |
Definition at line 211 of file xmlstorage.h.
#define _vsntprintf vsnprintf |
Definition at line 212 of file xmlstorage.h.
Referenced by String::appendf(), String::printf(), String::vappendf(), and String::vprintf().
#define _XMLSTORAGE_H |
Definition at line 4188 of file xmlstorage.h.
#define ALLOCA_MAX 0x10000 |
Definition at line 243 of file xmlstorage.h.
#define BUFFER_HUGE 0x7F80 |
Definition at line 240 of file xmlstorage.h.
Referenced by XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
#define BUFFER_LEN 2048 |
Definition at line 237 of file xmlstorage.h.
Referenced by XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
#define CDATA_END "]]>" |
Definition at line 524 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), XMLStorage::EncodeXMLString(), XMLStorage::XMLReaderBase::EndElementHandler(), and XMLStorage::ReadBuffer::has_CDEnd().
#define CDATA_START "<![CDATA[" |
Definition at line 523 of file xmlstorage.h.
Referenced by XMLStorage::EncodeXMLString(), and XMLStorage::XMLReaderBase::EndElementHandler().
#define COUNTOF | ( | b ) | (sizeof(b)/sizeof(b[0])) |
Definition at line 292 of file xmlstorage.h.
Referenced by XMLStorage::XMLDoubleRef::assign(), XMLStorage::XMLInt64Ref::assign(), XMLStorage::XMLIntRef::assign(), XMLStorage::XMLDouble::operator XS_String(), XMLStorage::XMLInt64::operator XS_String(), XMLStorage::XMLInt::operator XS_String(), XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
#define LPCXSSTR LPCSTR |
Definition at line 256 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), XMLStorage::EncodeXMLString(), XMLStorage::XPathElement::parse(), XMLStorage::XMLBool::XMLBool(), XMLStorage::XMLDouble::XMLDouble(), XMLStorage::XMLInt::XMLInt(), and XMLStorage::XMLInt64::XMLInt64().
#define LPXSSTR LPSTR |
Definition at line 255 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), and XMLStorage::EncodeXMLString().
#define strnicmp strncasecmp |
Definition at line 215 of file xmlstorage.h.
#define TEXT | ( | x ) | x |
Definition at line 197 of file xmlstorage.h.
Referenced by _log_(), _tWinMain(), FileChildWindow::activate_entry(), QuickLaunchBar::AddShortcuts(), BackgroundWindow::BackgroundWindow(), ClockWindow::ClockWindow(), NotifyArea::Command(), StartMenuHandler::Command(), MDIMainFrame::Command(), MainFrameBase::Command(), DesktopBar::Command(), ClockWindow::Create(), FileChildWindow::create(), DesktopWindow::Create(), ShellPath::create_absolute_pidl(), NotifyIconConfig::create_name(), display_error(), Entry::do_context_menu(), Pane::draw_item(), MDIShellBrowserChild::entry_selected(), SDIMainFrame::entry_selected(), ExplorerCmd::EvaluateOption(), MainFrameBase::ExecuteCommandbar(), ExplorerAboutDlg::ExplorerAboutDlg(), ExplorerPropertySheet(), FileChildWindow::FileChildWindow(), WinDirectory::find_entry(), ShellDirectory::find_entry(), RegDirectory::find_entry(), NtObjDirectory::find_entry(), FATDirectory::find_entry(), ShellFolder::get_name(), WinDirectory::get_next_path_component(), RegDirectory::get_next_path_component(), FATDirectory::get_next_path_component(), ShellDirectory::get_path(), Entry::get_path_base(), get_windows_version_str(), HandleException(), BookmarkList::import_IE_favorites(), TaskBar::Init(), ShellBrowser::Init(), Pane::init(), ExplorerGlobals::init(), OutputWorker::init_output(), Pane::insert_entries(), TrayNotifyDlg::InsertItem(), ShellBrowser::InsertSubitems(), FileTypeManager::is_exe_file(), IsAnyDesktopRunning(), ShellBrowser::jump_to(), MDIShellBrowserChild::jump_to_int(), launch_cpanel(), main(), MainFrameBase::MainFrameBase(), MDIMainFrame::MDIMainFrame(), ShellBrowser::MessageSFVCB(), BrowserNavigator::navigated(), TaskBar::Notify(), MainFrameBase::Notify(), MainFrameBase::OpenShellFolders(), FileTypeManager::operator[](), OutputWorker::OutputWorker(), Favorites::read(), WinDirectory::read_directory(), ShellDirectory::read_directory(), RegistryRoot::read_directory(), RegDirectory::read_directory(), NtObjDirectory::read_directory(), ExplorerGlobals::read_persistent(), RecursiveCreateDirectory(), TrayNotifyDlg::RefreshProperties(), FileChildWindow::set_curdir(), BrowserNavigator::set_html_page(), FileTypeManager::set_type(), ShowExitWindowsDialog(), StartMenuHandler::ShowLaunchDialog(), StartMenuHandler::ShowLogoffDialog(), StartMenuHandler::ShowRestartDialog(), StartMenuHandler::ShowSearchComputer(), StartMenuHandler::ShowSearchDialog(), SpecialFolderFSPath::SpecialFolderFSPath(), SplitFileSysURL(), Context::toString(), COMException::toString(), WebChildWindow::WndProc(), ClockWindow::WndProc(), NotifyArea::WndProc(), SDIMainFrame::WndProc(), MDIMainFrame::WndProc(), DesktopBar::WndProc(), and BackgroundWindow::WndProc().
#define TMP_ALLOC | ( | T, | |
b, | |||
h, | |||
l | |||
) |
TmpHeap h; T* b; \ if (l <= ALLOCA_MAX) b = (T*)alloca(sizeof(T)*l); \ else h = b = (T*)malloc(sizeof(T)*l)
Definition at line 321 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString().
#define XML_INDENT_SPACE " " |
Definition at line 780 of file xmlstorage.h.
#define XS_CHAR char |
Definition at line 253 of file xmlstorage.h.
Referenced by XMLStorage::XMLDoubleRef::assign(), XMLStorage::XMLInt64Ref::assign(), XMLStorage::XMLIntRef::assign(), XMLStorage::DecodeXMLString(), XMLStorage::EncodeXMLString(), XMLStorage::XMLDouble::operator XS_String(), XMLStorage::XMLInt64::operator XS_String(), XMLStorage::XMLInt::operator XS_String(), XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
#define XS_cmp strcmp |
Definition at line 257 of file xmlstorage.h.
#define XS_EMPTY XS_EMPTY_STR |
Definition at line 511 of file xmlstorage.h.
#define XS_EMPTY_STR XS_TEXT("") |
Definition at line 491 of file xmlstorage.h.
Referenced by XMLStorage::XMLNode::get_sub_content(), and XMLStorage::safe_skip_space().
#define XS_FALSE XS_FALSE_STR |
Definition at line 513 of file xmlstorage.h.
Referenced by XMLStorage::XMLBoolRef::assign(), and XMLStorage::XMLBool::operator LPCXSSTR().
#define XS_FALSE_STR XS_TEXT("false") |
Definition at line 493 of file xmlstorage.h.
#define XS_FLOATFMT XS_FLOATFMT_STR |
Definition at line 516 of file xmlstorage.h.
Referenced by XMLStorage::XMLDoubleRef::assign(), and XMLStorage::XMLDouble::operator XS_String().
#define XS_FLOATFMT_STR XS_TEXT("%f") |
Definition at line 496 of file xmlstorage.h.
#define XS_icmp _stricmp |
Definition at line 258 of file xmlstorage.h.
Referenced by XMLStorage::XMLBoolRef::operator bool(), XMLStorage::XMLBoolRef::operator!(), XMLStorage::ParseContext::process_next(), and XMLStorage::XMLBool::XMLBool().
#define XS_INT64FMT XS_INT64FMT_STR |
Definition at line 515 of file xmlstorage.h.
Referenced by XMLStorage::XMLInt64Ref::assign(), and XMLStorage::XMLInt64::operator XS_String().
#define XS_INT64FMT_STR XS_TEXT("%I64d") |
Definition at line 495 of file xmlstorage.h.
#define XS_INTFMT XS_INTFMT_STR |
Definition at line 514 of file xmlstorage.h.
Referenced by XMLStorage::XMLIntRef::assign(), and XMLStorage::XMLInt::operator XS_String().
#define XS_INTFMT_STR XS_TEXT("%d") |
Definition at line 494 of file xmlstorage.h.
#define XS_KEY_STR XS_TEXT("key") |
Definition at line 498 of file xmlstorage.h.
#define XS_len strlen |
Definition at line 264 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), and XMLStorage::EncodeXMLString().
#define XS_NATIVE |
Definition at line 101 of file xmlstorage.h.
#define XS_ncmp strncmp |
Definition at line 259 of file xmlstorage.h.
#define XS_nicmp strnicmp |
Definition at line 260 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), and XMLStorage::XMLBool::XMLBool().
#define XS_PROPERTY_STR XS_TEXT("property") |
Definition at line 500 of file xmlstorage.h.
#define XS_snprintf _snprintf |
#define XS_STRING_UTF8 |
Definition at line 62 of file xmlstorage.h.
#define XS_strstr strstr |
Definition at line 268 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString().
#define XS_TEXT | ( | x ) | x |
Definition at line 254 of file xmlstorage.h.
Referenced by XMLStorage::DecodeXMLString(), XMLStorage::XPathElement::matches(), and XMLStorage::ParseContext::process_next().
#define XS_tod strtod |
Definition at line 263 of file xmlstorage.h.
Referenced by XMLStorage::XMLDoubleRef::operator double(), and XMLStorage::XMLDouble::XMLDouble().
#define XS_toi atoi |
Definition at line 261 of file xmlstorage.h.
Referenced by XMLStorage::XMLIntRef::operator int(), XMLStorage::read_option(), and XMLStorage::XMLInt::XMLInt().
#define XS_toi64 _atoi64 |
Definition at line 262 of file xmlstorage.h.
Referenced by XMLStorage::XMLInt64Ref::operator INT64(), and XMLStorage::XMLInt64::XMLInt64().
#define XS_TRUE XS_TRUE_STR |
Definition at line 512 of file xmlstorage.h.
Referenced by XMLStorage::XMLBoolRef::assign(), XMLStorage::XMLBoolRef::operator bool(), XMLStorage::XMLBool::operator LPCXSSTR(), XMLStorage::XMLBoolRef::operator!(), and XMLStorage::XMLBool::XMLBool().
#define XS_TRUE_STR XS_TEXT("true") |
Definition at line 492 of file xmlstorage.h.
#define XS_VALUE_STR XS_TEXT("value") |
Definition at line 499 of file xmlstorage.h.
#define XS_vsnprintf _vsnprintf |
Definition at line 266 of file xmlstorage.h.
Referenced by XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
#define XS_vsnprintf_s _vsnprintf_s |
Definition at line 267 of file xmlstorage.h.
Referenced by XMLStorage::XS_String::vappendf(), and XMLStorage::XS_String::vprintf().
typedef unsigned char _TUCHAR |
Definition at line 199 of file xmlstorage.h.
typedef char CHAR |
Definition at line 184 of file xmlstorage.h.
typedef const char* LPCSTR |
Definition at line 192 of file xmlstorage.h.
Definition at line 202 of file xmlstorage.h.
Definition at line 194 of file xmlstorage.h.
typedef char* LPSTR |
Definition at line 191 of file xmlstorage.h.
Definition at line 201 of file xmlstorage.h.
Definition at line 193 of file xmlstorage.h.
Definition at line 200 of file xmlstorage.h.
typedef char TCHAR |
Definition at line 198 of file xmlstorage.h.
typedef unsigned char UCHAR |
Definition at line 190 of file xmlstorage.h.
typedef __wchar_t WCHAR |
Definition at line 189 of file xmlstorage.h.
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |