📄 wbxml_wrap_syncml.h
字号:
/* * libwbxml, the WBXML Library. * Copyright (C) 2002-2005 Aymerick Jehanne <aymerick@jehanne.org> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt * * Contact: libwbxml@aymerick.com * Home: http://libwbxml.aymerick.com */ #if defined( WBXML_WRAPPERS ) && defined( WBXML_SUPPORT_SYNCML ) /** * @file wbxml_wrap_syncml.h * @ingroup wbxml_wrap * * @author Aymerick Jehanne <libwbxml@aymerick.com> * @date 05/03/08 * * @brief SyncML Wrapper */#ifndef WBXML_WRAP_SYNCML_H#define WBXML_WRAP_SYNCML_H#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//** @addtogroup wbxml_wrap * @{ *//**************************************************** * SyncML Constants *//** SyncML VerDTD : 1.0 */#define WBXML_SYNCML_VERDTD_STR_10 "1.0"/** SyncML VerDTD : 1.1 */#define WBXML_SYNCML_VERDTD_STR_11 "1.1"/** SyncML VerProto : 1.0 */#define WBXML_SYNCML_VERPROTO_STR_10 "SyncML/1.0"/** SyncML VerProto : 1.1 */#define WBXML_SYNCML_VERPROTO_STR_11 "SyncML/1.1"/**************************************************** * SyncML Enums *//** SyncML VerDTD */typedef enum WBXMLSyncMLVerDTD_e { WBXML_SYNCML_VERDTD_UNKNOWN = 0, /**< UNKNOWN */ WBXML_SYNCML_VERDTD_10, /**< 1.0 */ WBXML_SYNCML_VERDTD_11 /**< 1.1 */} WBXMLSyncMLVerDTD;/** SyncML VerProto */typedef enum WBXMLSyncMLVerProto_e { WBXML_SYNCML_VERPROTO_UNKNOWN = 0, /**< UNKNOWN */ WBXML_SYNCML_VERPROTO_10, /**< SyncML/1.0 */ WBXML_SYNCML_VERPROTO_11 /**< SyncML/1.1 */} WBXMLSyncMLVerProto;/** SyncML Command type */typedef enum WBXMLSyncMLCmdType_e { WBXML_SYNCML_CMD_UNKNOWN = 0, /**< UNKNOWN */ WBXML_SYNCML_CMD_ADD, /**< Add */ WBXML_SYNCML_CMD_ALERT, /**< Alert */ WBXML_SYNCML_CMD_ATOMIC, /**< Atomic */ WBXML_SYNCML_CMD_COPY, /**< Copy */ WBXML_SYNCML_CMD_DELETE, /**< Delete */ WBXML_SYNCML_CMD_EXEC, /**< Exec */ WBXML_SYNCML_CMD_GET, /**< Get */ WBXML_SYNCML_CMD_MAP, /**< Map */ WBXML_SYNCML_CMD_MOVE, /**< Move */ WBXML_SYNCML_CMD_PUT, /**< Put */ WBXML_SYNCML_CMD_REPLACE, /**< Replace */ WBXML_SYNCML_CMD_RESULTS, /**< Results */ WBXML_SYNCML_CMD_SEARCH, /**< Search */ WBXML_SYNCML_CMD_SEQUENCE, /**< Sequence */ WBXML_SYNCML_CMD_STATUS, /**< Status */ WBXML_SYNCML_CMD_SYNC /**< Sync */} WBXMLSyncMLCmdType;/**************************************************** * SyncML Structures *//** * @brief SyncML <Meta> element */typedef struct WBXMLSyncMLMeta_s{ void *todo; /**< @todo Meta */} WBXMLSyncMLMeta;/** * @brief SyncML <Cred> element */typedef struct WBXMLSyncMLCred_s{ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLBuffer *Data; /**< Data */} WBXMLSyncMLCred;/** * @brief SyncML <Chal> element */typedef struct WBXMLSyncMLChal_s{ WBXMLSyncMLMeta *Meta; /**< Meta */} WBXMLSyncMLChal;/** * @brief SyncML <Item> element */typedef struct WBXMLSyncMLItem_s { WBXMLBuffer *Target; /**< Target? */ WBXMLBuffer *Source; /**< Source? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLBuffer *Data; /**< Data? */ WB_BOOL MoreData; /**< MoreData? */} WBXMLSyncMLItem;/** * @brief SyncML <Add> element */typedef struct WBXMLSyncMLAdd_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */} WBXMLSyncMLAdd;/** * @brief SyncML <Alert> element */typedef struct WBXMLSyncMLAlert_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLList *items; /**< Item* */ WBXMLBuffer *Data; /**< Data? */} WBXMLSyncMLAlert;/** * @brief SyncML <Atomic> element */typedef struct WBXMLSyncMLAtomic_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *commands; /**< (Add | Replace | Delete | Copy | Atomic | Map | Sequence | Sync | Get | Exec | Alert)+ */} WBXMLSyncMLAtomic;/** * @brief SyncML <Copy> element */typedef struct WBXMLSyncMLCopy_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */} WBXMLSyncMLCopy;/** * @brief SyncML <Delete> element */typedef struct WBXMLSyncMLDelete_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */ WB_BOOL Archives; /**< Archive? */ WB_BOOL SftDel; /**< SftDel? */} WBXMLSyncMLDelete;/** * @brief SyncML <Exec> element */typedef struct WBXMLSyncMLExec_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLSyncMLItem Item; /**< Item */} WBXMLSyncMLExec;/** * @brief SyncML <Get> element */typedef struct WBXMLSyncMLGet_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */ WBXMLBuffer *Lang; /**< Lang? */} WBXMLSyncMLGet;/** * @brief SyncML <Map> element */typedef struct WBXMLSyncMLMap_s { WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *maps; /**< MapItem+ (WBXMLSyncMLMapItem) */ WBXMLBuffer *Target; /**< Target */ WBXMLBuffer *Source; /**< Source */} WBXMLSyncMLMap;/** * @brief SyncML <MapItem> element */typedef struct WBXMLSyncMLMapItem_s { WBXMLBuffer *Target; /**< Target */ WBXMLBuffer *Source; /**< Source */} WBXMLSyncMLMapItem;/** * @brief SyncML <Put> element */typedef struct WBXMLSyncMLPut_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */ WBXMLBuffer *Lang; /**< Lang? */} WBXMLSyncMLPut;/** * @brief SyncML <Replace> element */typedef struct WBXMLSyncMLReplace_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */} WBXMLSyncMLReplace;/** * @brief SyncML <Results> element */typedef struct WBXMLSyncMLResults_s { WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *items; /**< Item+ */ WBXMLBuffer *TargetRef; /**< TargetRef? */ WBXMLBuffer *SourceRef; /**< SourceRef? */ WBXMLBuffer *MsgRef; /**< MsgRef? */ WBXMLBuffer *CmdRef; /**< CmdRef */} WBXMLSyncMLResults;/** * @brief SyncML <Search> element */typedef struct WBXMLSyncMLSearch_s { WB_BOOL NoResp; /**< NoResp? */ WB_BOOL NoResults; /**< NoResults? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLBuffer *Target; /**< Target? */ WBXMLList *Source; /**< Source+ */ WBXMLBuffer *lang; /**< Lang? */ WBXMLSyncMLMeta *Meta; /**< Meta */ WBXMLBuffer *Data; /**< Data */} WBXMLSyncMLSearch;/** * @brief SyncML <Sequence> element */typedef struct WBXMLSyncMLSequence_s { WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WBXMLList *commands; /**< (Add | Replace | Delete | Copy | Atomic | Map | Sync | Get | Alert | Exec)+ */} WBXMLSyncMLSequence;/** * @brief SyncML <Status> element */typedef struct WBXMLSyncMLStatus_s { /* <!ELEMENT Status (CmdID, MsgRef, CmdRef, Cmd, TargetRef*, SourceRef*, Cred?, Chal?, Data, Item*)> */ WBXMLBuffer *MsgRef; /**< MsgRef */ WBXMLBuffer *CmdRef; /**< CmdRef */ WBXMLSyncMLCmdType Cmd; /**< Cmd */ WBXMLList *TargetRef; /**< TargetRef* */ WBXMLList *SourceRef; /**< SourceRef* */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLSyncMLChal *Chal; /**< Chal? */ WBXMLBuffer *Data; /**< Data */ WBXMLList *items; /**< Item* */} WBXMLSyncMLStatus;/** * @brief SyncML <Sync> element */typedef struct WBXMLSyncMLSync_s { /* <!ELEMENT Sync (CmdID, NoResp?, Cred?, Target?, Source?, Meta?, NumberOfChanges?, (Add | Atomic | Copy | Delete | Replace | Sequence)*)> */ WB_BOOL NoResp; /**< NoResp? */ WBXMLSyncMLCred *Cred; /**< Cred? */ WBXMLBuffer *Target; /**< Target? */ WBXMLBuffer *Source; /**< Source? */ WBXMLSyncMLMeta *Meta; /**< Meta? */ WB_ULONG NumberOfChanges; /**< NumberOfChanges? */ WBXMLList *commands; /**< (Add | Atomic | Copy | Delete | Replace | Sequence)* */} WBXMLSyncMLSync;/** * @brief SyncML command element */typedef struct WBXMLSyncMLCommand_s { WBXMLSyncMLCmdType type; /**< Cf. WBXMLSyncMLCmdType */ WBXMLBuffer *CmdID; /**< CmdId */ union { WBXMLSyncMLAdd *Add; /**< Add */ WBXMLSyncMLAlert *Alert; /**< Alert */ WBXMLSyncMLAtomic *Atomic; /**< Atomic */ WBXMLSyncMLCopy *Copy; /**< Copy */ WBXMLSyncMLDelete *Delete; /**< Delete */ WBXMLSyncMLExec *Exec; /**< Exec */ WBXMLSyncMLGet *Get; /**< Get */ WBXMLSyncMLMap *Map; /**< Map */ WBXMLSyncMLPut *Put; /**< Put */ WBXMLSyncMLReplace *Replace; /**< Replace */ WBXMLSyncMLResults *Results; /**< Results */ WBXMLSyncMLSearch *Search; /**< Search */ WBXMLSyncMLSequence *Sequence; /**< Sequence */ WBXMLSyncMLStatus *Status; /**< Status */ WBXMLSyncMLSync *Sync; /**< Sync */ } u;} WBXMLSyncMLCommand;/** * @brief SyncML <SyncBody> element */typedef struct WBXMLSyncMLSyncBody_s{ WBXMLList *commands; /**< (Alert | Atomic | Copy | Exec | Get | Map | Put | Results | Search | Sequence | Status | Sync | Add | Replace | Delete)+ */ WB_BOOL Final; /**< Final? */} WBXMLSyncMLSyncBody;/** * @brief SyncML <SyncHdr> element */typedef struct WBXMLSyncMLSyncHdr_s{ WBXMLSyncMLVerDTD VerDTD; /**< VerDTD */ WBXMLSyncMLVerProto VerProto; /**< VerProto */ WBXMLBuffer *SessionID; /**< SessionID */ WBXMLBuffer *MsgID; /**< MsgID */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -