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

📄 vcard.h

📁 pimserver是syncml_vc开发包的服务器实例
💻 H
字号:

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the VCARD_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// VCARD_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef VCARD_EXPORTS
#define VCARD_API __declspec(dllexport)
#else
#define VCARD_API __declspec(dllimport)
#endif

// This class is exported from the vcard.dll

typedef enum {cp_PropName,cp_PropData,cp_ParamName,cp_ParamData}ParserState;
typedef enum {NOKNOWN,SOURCE, NAME, PROFILE, BEGIN, END,FN, N, NICKNAME, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL,
MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, ORG, CATEGORIES, NOTE,
PRODID, REV, SORT_STRING, SOUND, URL, UID, VERSION, CLASS, KEY
} VCARDTYPE;
typedef enum {TEXT,QUOTED_PRINTABLE,BASE64
} ENCODING;
typedef enum {ASCII,UTF_8,UTF_7
} CHARSET;

typedef struct Param
{
	char*	name;
	char*	data;
	struct	Param*next;
}Param;
typedef struct VItem
{
	VCARDTYPE		type;
	ENCODING		encoding;	
	CHARSET			charset;
	char*			data;
	int				datalen;
	char*			sourcedata;
	struct Param*   phead;
	struct Param*	pend;
	//struct Param*	param;
	struct VItem*	next;
}VItem;
class VCARD_API CVcard {
public:
	CVcard(void);
public:
	int Parse(const char *s, int len);
	int Encode(char*name, char*cell,char*target);
	VItem* GetItem(VCARDTYPE type);
	int CheckCards();
	int Free();
private:

	VItem	*end;
	VItem	*head;
	ParserState state;
	int AppendItem(VItem*pNew);
	int AppendParam(VItem*pItem,Param*pPam);

	// TODO: add your methods here.
};

extern VCARD_API int nVcard;

VCARD_API int fnVcard(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -