PARSE. CPP
In der Beispielanbieterkomponente befindet sich ein Codebeispiel des Verzeichnisdienstpfadparsers in Parse.cpp. Der Pfadparser ist eine Schlüsselkomponente in ADs-Anbieterkomponenten. Es überprüft die syntaktische Gültigkeit eines ADs-Pfads, der an diesen Anbieter übergeben wurde. Wenn die Syntax gültig ist, wird eine OBJECTINFO-Struktur erstellt, die eine komponentenisierte Version des ADspath für dieses Objekt enthält.
Beachten Sie, dass dies nur eine Syntaxüberprüfung ist. Anstelle von Sonderfällen bei jeder neuen Iteration des Pfads muss die gesamte Pfadüberprüfung den vom Parser festgelegten Grammatikregeln entsprechen.
In der folgenden Tabelle sind die In Parse.cpp implementierten Funktionen und Methoden aufgeführt.
Element | BESCHREIBUNG |
---|---|
ADsObject | Analysiert den an ihn übergebenen ADspath. Diese Funktion folgt den folgenden Grammatikregeln: <ADsObject> -><ProviderName><SampleDSObject> |
SampleDSObject | Analysiert die folgenden Grammatikregeln: <SampleDSObject> -> "\\" <Bezeichner> "\" <Pathname> |
ProviderName | Fügt den syntaktisch korrekten Anbieternamen hinzu, falls nicht vorhanden. |
PathName | Analysiert die folgenden Grammatikregeln: <Pathname> -<>Component> "\\" <Pathname> OR <Pfadname> -><Komponente> |
Komponente | Analysiert die folgenden Grammatikregeln: <Bezeichner> ODER <Bezeichner> "=" <Bezeichner> |
CLexer::CLexer | Standardkonstruktor. |
CLexer::~CLexer | Standard-Destruktor. |
CLexer::GetNextToken | Tokenizer. |
CLexer::NextChar | Ruft das nächste einzelne Zeichen ab. |
CLexer::P ushBackToken | Sichert bis zum Start des letzten Tokens. |
CLexer::P ushbackChar | Sichert ein Zeichen. |
CLexer::IsKeyword | Überprüft Schlüsselwort (keyword) Liste. Definiert in Globals.h). |
Addcomponent | Fügt diese Komponente dem Komponentenarray hinzu. |
AddProviderName | Fügt der OBJECTINFO-Struktur einen syntaktisch korrekten Anbieternamen hinzu. |
AddRootRDN | Fügt der OBJECTINFO-Struktur den syntaktisch korrekten RDN-Namen (Root Relative Distinguished Name) hinzu. |
SetType | Legt den Typ des Objekts fest. |
Typ | Analysetyp:> "Benutzer" | "group" usw. |