ReactOS  0.4.14-dev-583-g2a1ba2c
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 }
std::string ReadStringNode(XMLHandle dbNode, const char *nodeName)
Definition: xml2sdb.cpp:79
bool ReadGuidNode(XMLHandle dbNode, const char *nodeName, GUID &guid)
Definition: xml2sdb.cpp:211
std::list< InExclude > InExcludes
Definition: xml2sdb.h:76
std::string DllFile
Definition: xml2sdb.h:73
GUID FixID
Definition: xml2sdb.h:74
void ReadGeneric(XMLHandle dbNode, std::list< T > &result, const char *nodeName)
Definition: xml2sdb.cpp:267

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))
364  RandomGuid(FixID);
366  if (!WriteGeneric(pdb, InExcludes, db))
367  return false;
368  return !!db.EndWriteListTag(pdb, Tagid);
369 }
bool WriteGeneric(PDB pdb, std::list< T > &data, Database &db)
Definition: xml2sdb.cpp:281
#define TAG_NAME
Definition: vfat.h:547
static PDB pdb
Definition: db.cpp:170
TAGID BeginWriteListTag(PDB pdb, TAG tag)
Definition: xml2sdb.cpp:624
#define TAG_SHIM
Definition: apphelp.c:42
void WriteString(PDB pdb, TAG tag, const sdbstring &str, bool always=false)
Definition: xml2sdb.cpp:601
TAGID Tagid
Definition: xml2sdb.h:75
bool IsEmptyGuid(const GUID &g)
Definition: xml2sdb.cpp:46
#define TAG_DLLFILE
Definition: sdbtagid.h:137
BOOL EndWriteListTag(PDB pdb, TAGID tagid)
Definition: xml2sdb.cpp:629
std::list< InExclude > InExcludes
Definition: xml2sdb.h:76
#define TAG_FIX_ID
Definition: sdbtagid.h:205
void InsertShimTagid(const sdbstring &name, TAGID tagid)
Definition: xml2sdb.cpp:734
void RandomGuid(GUID &g)
Definition: xml2sdb.cpp:51
void WriteBinary(PDB pdb, TAG tag, const GUID &guid, bool always=false)
Definition: xml2sdb.cpp:589
std::string DllFile
Definition: xml2sdb.h:73
GUID FixID
Definition: xml2sdb.h:74

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: