⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wbxml_wrap_syncml.h

📁 WAP Binary XML 简单地说
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * 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 + -