ReactOS  0.4.14-dev-342-gdc047f9
Exe Struct Reference

#include <xml2sdb.h>

Collaboration diagram for Exe:

Public Member Functions

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

Public Attributes

std::string Name
 
GUID ExeID
 
std::string AppName
 
std::string Vendor
 
TAGID Tagid
 
std::list< MatchingFileMatchingFiles
 
std::list< ShimRefShimRefs
 
std::list< FlagRefFlagRefs
 

Detailed Description

Definition at line 148 of file xml2sdb.h.

Constructor & Destructor Documentation

◆ Exe()

Exe::Exe ( )
inline

Definition at line 150 of file xml2sdb.h.

150 : Tagid(0) { ; }
TAGID Tagid
Definition: xml2sdb.h:159

Member Function Documentation

◆ fromXml()

bool Exe::fromXml ( XMLHandle  dbNode)

Definition at line 546 of file xml2sdb.cpp.

547 {
548  Name = ReadStringNode(dbNode, "NAME");
549  ReadGuidNode(dbNode, "EXE_ID", ExeID);
550  AppName = ReadStringNode(dbNode, "APP_NAME");
551  Vendor = ReadStringNode(dbNode, "VENDOR");
552 
553  ReadGeneric(dbNode, MatchingFiles, "MATCHING_FILE");
554 
555  ReadGeneric(dbNode, ShimRefs, "SHIM_REF");
556  ReadGeneric(dbNode, FlagRefs, "FLAG_REF");
557 
558  return !Name.empty();
559 }
std::list< FlagRef > FlagRefs
Definition: xml2sdb.h:162
std::list< MatchingFile > MatchingFiles
Definition: xml2sdb.h:160
std::list< ShimRef > ShimRefs
Definition: xml2sdb.h:161
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::string AppName
Definition: xml2sdb.h:157
GUID ExeID
Definition: xml2sdb.h:156
std::string Vendor
Definition: xml2sdb.h:158
void ReadGeneric(XMLHandle dbNode, std::list< T > &result, const char *nodeName)
Definition: xml2sdb.cpp:267

◆ toSdb()

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

Definition at line 561 of file xml2sdb.cpp.

562 {
564 
565  db.WriteString(pdb, TAG_NAME, Name, true);
566  if (IsEmptyGuid(ExeID))
567  RandomGuid(ExeID);
569 
570 
573 
574  if (!WriteGeneric(pdb, MatchingFiles, db))
575  return false;
576  if (!WriteGeneric(pdb, ShimRefs, db))
577  return false;
578  if (!WriteGeneric(pdb, FlagRefs, db))
579  return false;
580 
581  return !!db.EndWriteListTag(pdb, Tagid);
582 }
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
std::list< FlagRef > FlagRefs
Definition: xml2sdb.h:162
#define TAG_EXE_ID
Definition: db.cpp:118
std::list< MatchingFile > MatchingFiles
Definition: xml2sdb.h:160
std::list< ShimRef > ShimRefs
Definition: xml2sdb.h:161
#define TAG_APP_NAME
Definition: db.cpp:99
void WriteString(PDB pdb, TAG tag, const sdbstring &str, bool always=false)
Definition: xml2sdb.cpp:601
#define TAG_VENDOR
Definition: db.cpp:98
bool IsEmptyGuid(const GUID &g)
Definition: xml2sdb.cpp:46
#define TAG_EXE
Definition: db.cpp:85
BOOL EndWriteListTag(PDB pdb, TAGID tagid)
Definition: xml2sdb.cpp:629
std::string AppName
Definition: xml2sdb.h:157
void RandomGuid(GUID &g)
Definition: xml2sdb.cpp:51
void WriteBinary(PDB pdb, TAG tag, const GUID &guid, bool always=false)
Definition: xml2sdb.cpp:589
GUID ExeID
Definition: xml2sdb.h:156
std::string Vendor
Definition: xml2sdb.h:158
TAGID Tagid
Definition: xml2sdb.h:159

Member Data Documentation

◆ AppName

std::string Exe::AppName

Definition at line 157 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ ExeID

GUID Exe::ExeID

Definition at line 156 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ FlagRefs

std::list<FlagRef> Exe::FlagRefs

Definition at line 162 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ MatchingFiles

std::list<MatchingFile> Exe::MatchingFiles

Definition at line 160 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ Name

std::string Exe::Name

Definition at line 155 of file xml2sdb.h.

◆ ShimRefs

std::list<ShimRef> Exe::ShimRefs

Definition at line 161 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().

◆ Tagid

TAGID Exe::Tagid

Definition at line 159 of file xml2sdb.h.

Referenced by toSdb().

◆ Vendor

std::string Exe::Vendor

Definition at line 158 of file xml2sdb.h.

Referenced by fromXml(), and toSdb().


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