ReactOS 0.4.16-dev-122-g325d74c
Shim Struct Reference

#include <xml2sdb.h>

Collaboration diagram for Shim:

Public Member Functions

 Shim ()
 
bool fromXml (XMLHandle dbNode)
 
bool toSdb (PDB pdb, Database &db)
 

Public Attributes

std::string Name
 
std::string DllFile
 
GUID FixID
 
TAGID Tagid
 
std::list< InExcludeInExcludes
 

Detailed Description

Definition at line 65 of file xml2sdb.h.

Constructor & Destructor Documentation

◆ Shim()

Shim::Shim ( )
inline

Definition at line 67 of file xml2sdb.h.

67: Tagid(0) { ; }
TAGID Tagid
Definition: xml2sdb.h:75

Member Function Documentation

◆ fromXml()

bool Shim::fromXml ( XMLHandle  dbNode)

Definition at line 345 of file xml2sdb.cpp.

346{
347 Name = ReadStringNode(dbNode, "NAME");
348 DllFile = ReadStringNode(dbNode, "DLLFILE");
349 ReadGuidNode(dbNode, "FIX_ID", FixID);
350 // GENERAL ?
351 // DESCRIPTION_RC_ID
352 ReadGeneric(dbNode, InExcludes, "INCLUDE");
353 ReadGeneric(dbNode, InExcludes, "EXCLUDE");
354 return !Name.empty() && !DllFile.empty();
355}
GUID FixID
Definition: xml2sdb.h:74
std::list< InExclude > InExcludes
Definition: xml2sdb.h:76
std::string DllFile
Definition: xml2sdb.h:73
bool ReadGuidNode(XMLHandle dbNode, const char *nodeName, GUID &guid)
Definition: xml2sdb.cpp:211
void ReadGeneric(XMLHandle dbNode, std::list< T > &result, const char *nodeName)
Definition: xml2sdb.cpp:267
std::string ReadStringNode(XMLHandle dbNode, const char *nodeName)
Definition: xml2sdb.cpp:79

Referenced by Database::fromXml().

◆ toSdb()

bool Shim::toSdb ( PDB  pdb,
Database db 
)

Definition at line 357 of file xml2sdb.cpp.

358{
363 if (IsEmptyGuid(FixID))
366 if (!WriteGeneric(pdb, InExcludes, db))
367 return false;
368 return !!db.EndWriteListTag(pdb, Tagid);
369}
static PDB pdb
Definition: db.cpp:172
#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:734
void WriteBinary(PDB pdb, TAG tag, const GUID &guid, bool always=false)
Definition: xml2sdb.cpp:589
BOOL EndWriteListTag(PDB pdb, TAGID tagid)
Definition: xml2sdb.cpp:629
TAGID BeginWriteListTag(PDB pdb, TAG tag)
Definition: xml2sdb.cpp:624
void WriteString(PDB pdb, TAG tag, const sdbstring &str, bool always=false)
Definition: xml2sdb.cpp:601
#define TAG_SHIM
Definition: tag.h:138
#define TAG_NAME
Definition: vfat.h:553
void RandomGuid(GUID &g)
Definition: xml2sdb.cpp:51
bool WriteGeneric(PDB pdb, std::list< T > &data, Database &db)
Definition: xml2sdb.cpp:281
bool IsEmptyGuid(const GUID &g)
Definition: xml2sdb.cpp:46

Member Data Documentation

◆ DllFile

std::string Shim::DllFile

Definition at line 73 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ FixID

GUID Shim::FixID

Definition at line 74 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ InExcludes

std::list<InExclude> Shim::InExcludes

Definition at line 76 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ Name

std::string Shim::Name

Definition at line 72 of file xml2sdb.h.

◆ Tagid

TAGID Shim::Tagid

Definition at line 75 of file xml2sdb.h.

Referenced by toSdb().


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