ReactOS 0.4.16-dev-1946-g52006dd
Shim Struct Reference

#include <xml2sdb.h>

Collaboration diagram for Shim:

Public Member Functions

bool fromXml (XMLHandle dbNode)
 
bool toSdb (Database &db)
 

Public Attributes

std::string Name
 
std::string DllFile
 
GUID FixID = {}
 
TAGID Tagid = 0
 
std::list< InExcludeInExcludes
 
PlatformType Platform = PLATFORM_ANY
 

Detailed Description

Definition at line 83 of file xml2sdb.h.

Member Function Documentation

◆ fromXml()

bool Shim::fromXml ( XMLHandle  dbNode)

Definition at line 399 of file xml2sdb.cpp.

400{
401 Name = ReadStringNode(dbNode, "NAME");
402 DllFile = ReadStringNode(dbNode, "DLLFILE");
403 ReadGuidNode(dbNode, "FIX_ID", FixID);
404 // GENERAL ?
405 // DESCRIPTION_RC_ID
406 ReadGeneric(dbNode, InExcludes, "INCLUDE");
407 ReadGeneric(dbNode, InExcludes, "EXCLUDE");
408 return !Name.empty() && !DllFile.empty();
409}
GUID FixID
Definition: xml2sdb.h:90
std::list< InExclude > InExcludes
Definition: xml2sdb.h:92
std::string DllFile
Definition: xml2sdb.h:89
std::string Name
Definition: xml2sdb.h:88
bool ReadGuidNode(XMLHandle dbNode, const char *nodeName, GUID &guid)
Definition: xml2sdb.cpp:251
void ReadGeneric(XMLHandle dbNode, std::list< T > &result, const char *nodeName)
Definition: xml2sdb.cpp:307
std::string ReadStringNode(XMLHandle dbNode, const char *nodeName)
Definition: xml2sdb.cpp:110

Referenced by Database::fromXml().

◆ toSdb()

bool Shim::toSdb ( Database db)

Definition at line 411 of file xml2sdb.cpp.

412{
417 if (IsEmptyGuid(FixID))
420 if (!WriteGeneric(InExcludes, db))
421 return false;
422 return !!db.EndWriteListTag(Tagid);
423}
#define TAG_FIX_ID
Definition: sdbtagid.h:205
#define TAG_DLLFILE
Definition: sdbtagid.h:137
void InsertShimTagid(const sdbstring &name, TAGID tagid)
Definition: xml2sdb.cpp:797
void WriteString(TAG tag, const sdbstring &str, bool always=false)
Definition: xml2sdb.cpp:657
BOOL EndWriteListTag(TAGID tagid)
Definition: xml2sdb.cpp:690
void WriteBinary(TAG tag, const GUID &guid, bool always=false)
Definition: xml2sdb.cpp:645
TAGID BeginWriteListTag(TAG tag)
Definition: xml2sdb.cpp:685
TAGID Tagid
Definition: xml2sdb.h:91
#define TAG_SHIM
Definition: tag.h:137
#define TAG_NAME
Definition: vfat.h:553
void RandomGuid(GUID &g)
Definition: xml2sdb.cpp:82
bool WriteGeneric(std::list< T > &data, Database &db)
Definition: xml2sdb.cpp:335
bool IsEmptyGuid(const GUID &g)
Definition: xml2sdb.cpp:77

Member Data Documentation

◆ DllFile

std::string Shim::DllFile

Definition at line 89 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ FixID

GUID Shim::FixID = {}

Definition at line 90 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ InExcludes

std::list<InExclude> Shim::InExcludes

Definition at line 92 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ Name

std::string Shim::Name

Definition at line 88 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ Platform

PlatformType Shim::Platform = PLATFORM_ANY

Definition at line 93 of file xml2sdb.h.

Referenced by Database::fromXml().

◆ Tagid

TAGID Shim::Tagid = 0

Definition at line 91 of file xml2sdb.h.

Referenced by toSdb().


The documentation for this struct was generated from the following files: