00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef INCL_PARSER
00038 #define INCL_PARSER
00039
00041 #include "base/fscapi.h"
00042 #include "base/util/utils.h"
00043 #include "base/util/XMLProcessor.h"
00044 #include "base/util/ArrayList.h"
00045 #include "syncml/core/ObjectDel.h"
00046 #include "base/globalsdef.h"
00047
00048 BEGIN_NAMESPACE
00049
00050 class Parser {
00051
00052
00053 public:
00054 static SyncML* getSyncML (const char* xml);
00055 static SyncHdr* getSyncHdr (const char* xml);
00056 static SyncBody* getSyncBody (const char* xml);
00057 static SessionID* getSessionID (const char* xml, unsigned int* pos = NULL);
00058 static VerDTD* getVerDTD (const char* xml, unsigned int* pos = NULL);
00059 static VerProto* getVerProto (const char* xml, unsigned int* pos = NULL);
00060 static Target* getTarget (const char* xml, unsigned int* pos = NULL);
00061 static Target* getTargetFromContent(const char* xml);
00062 static Source* getSource (const char* xml, unsigned int* pos = NULL);
00063 static Source* getSourceFromContent(const char* content);
00064 static Cred* getCred (const char* xml, unsigned int* pos = NULL);
00065 static Anchor* getAnchor (const char* xml);
00066 static NextNonce* getNextNonce (const char* xml);
00067 static Mem* getMem (const char* xml);
00068 static ArrayList* getEMI (const char* xml);
00069 static Meta* getMetaFromContent (const char* xml);
00070 static Meta* getMeta (const char* xml, unsigned int* pos = NULL);
00071 static MetInf* getMetInf (const char* xml);
00072 static Authentication* getAuthentication (const char* xml);
00073 static void getCommands (ArrayList& commands, const char* xml);
00074 static Alert* getAlert (const char* xml);
00075 static bool getFinalMsg (const char* xml, unsigned int* pos = NULL);
00076 static int getDataCode (const char* xml);
00077 static Data* getData (const char* xml, unsigned int* pos = NULL);
00078 static bool getNoResp (const char* xml, unsigned int* pos = NULL);
00079 static bool getNoResults (const char* xml, unsigned int* pos = NULL);
00080 static CmdID* getCmdID (const char* xml, unsigned int* pos = NULL);
00081 static Item* getItem (const char* xml, const char* command = NULL);
00082 static void getItems (ArrayList& items, const char* xml, const char* command = NULL);
00083 static ComplexData* getComplexData (const char* xml, const char* command = NULL, unsigned int* pos = NULL);
00084 static bool getMoreData (const char* xml, unsigned int* pos = NULL);
00085 static Status* getStatus (const char* xml);
00086 static DevInf* getDevInf (const char* xml);
00087 static TargetRef* getTargetRef (const char* xml);
00088 static SourceRef* getSourceRef (const char* xml);
00089 static void getTargetRefs (ArrayList& list, const char* xml);
00090 static void getSourceRefs (ArrayList& list, const char* xml);
00091 static Chal* getChal (const char* xml, unsigned int* pos = NULL);
00092 static Map* getMap (const char* xml);
00093 static MapItem* getMapItem (const char* xml);
00094 static void getMapItems (ArrayList& list, const char* xml);
00095 static Add* getAdd (const char* xml);
00096 static Sync* getSync (const char* xml);
00097 static Replace* getReplace (const char* xml);
00098 static Delete* getDelete (const char* xml);
00099 static Copy* getCopy (const char* xml);
00100 static Sequence* getSequence (const char* xml);
00101 static Atomic* getAtomic (const char* xml);
00102 static void getAndAppendAdds (ArrayList& list, const char* xml, const char* except);
00103 static void getAndAppendReplaces(ArrayList& list, const char* xml, const char* except);
00104 static void getAndAppendDels (ArrayList& list, const char* xml, const char* except);
00105 static void getAndAppendCopies (ArrayList& list, const char* xml, const char* except);
00106 static void getCommonCommandList(ArrayList& commands, const char* xml, const char* except);
00107 static Get* getGet (const char* xml);
00108 static Put* getPut (const char* xml);
00109 static DataStore* getDataStore (const char* xml);
00110 static ContentTypeInfo* getContentTypeInfo (const char* xml);
00111 static DSMem* getDSMem (const char* xml, unsigned int* pos = NULL);
00112 static SyncCap* getSyncCap (const char* xml);
00113 static SyncType* getSyncType (const char* xml);
00114 static CTCap* getCTCap (const char* xml);
00115 static Ext* getExt (const char* xml);
00116 static Results* getResult (const char* xml);
00117 static Exec* getExec (const char* xml);
00118 static Search* getSearch (const char* xml);
00119 static void getSources (ArrayList& sources, const char* xml);
00120 };
00121
00122
00123 END_NAMESPACE
00124
00126 #endif
00127
00128
00129
00130