82 lines
2.3 KiB
C++
82 lines
2.3 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TWDictItem 类
|
|
// = Version : ver2.0
|
|
// = Author : wlw
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 字典项TWDictItem 声明
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TWDICTITEM_H_
|
|
#define _TWDICTITEM_H_
|
|
|
|
#define RAPIDJSON_HAS_STDSTRING 1
|
|
#include "../../../dep_inc/rapidjson/document.h"
|
|
#include "../../../dep_inc/rapidjson/encodings.h"
|
|
#include "../../../dep_inc/rapidjson/stringbuffer.h"
|
|
#include "../../../dep_inc/rapidjson/filereadstream.h"
|
|
#include "../../../dep_inc/rapidjson/filewritestream.h"
|
|
#include "../../../dep_inc/rapidjson/encodedstream.h"
|
|
#include "../../../dep_inc/rapidjson/prettywriter.h"
|
|
|
|
using namespace rapidjson;
|
|
typedef GenericDocument<UTF16<> > WDocument;
|
|
typedef GenericValue<UTF16<> > WValue;
|
|
typedef const GenericValue<UTF16<> > WCValue;
|
|
typedef GenericArray<false, WValue> Arr;
|
|
typedef GenericArray<true, WValue> CArr;
|
|
typedef WValue::ConstMemberIterator MCIt;
|
|
typedef WValue::MemberIterator MIt;
|
|
typedef WValue::ConstValueIterator VCIt;
|
|
typedef WValue::ValueIterator VIt;
|
|
typedef GenericStringBuffer<UTF16<> > WStringBuffer;
|
|
typedef PrettyWriter<WStringBuffer, UTF16<>> WPrettyWriter;
|
|
typedef Writer<WStringBuffer, UTF16<>> WWriter;
|
|
|
|
extern WDocument::AllocatorType& getJsonAllocator();
|
|
|
|
//字典项
|
|
class GEOAPI TWDictItem
|
|
{
|
|
public:
|
|
|
|
TWDictItem(const TCHAR* sName = NULL, const TCHAR* sDesc = NULL);
|
|
|
|
virtual ~TWDictItem();
|
|
|
|
virtual int GetType() const;
|
|
|
|
virtual void operator >> (CArchive &ar);
|
|
|
|
virtual void operator << (CArchive &ar);
|
|
|
|
virtual void CopyData(const TWDictItem &src);
|
|
|
|
bool IsDict() const;
|
|
|
|
bool IsValid();
|
|
|
|
bool operator == (const TWDictItem &item) const;
|
|
|
|
bool operator != (const TWDictItem &item) const;
|
|
|
|
bool operator > (const TWDictItem &item) const;
|
|
|
|
bool operator < (const TWDictItem &item) const;
|
|
|
|
virtual void saveToJson(WValue &v);
|
|
virtual void loadByJson(const WValue &v);
|
|
static bool json2File(LPCTSTR path, const WValue &v, bool pretty);
|
|
static bool file2Json(LPCTSTR pszJson, WDocument &doc);
|
|
|
|
public:
|
|
|
|
//名称不能为空,区分大小写!
|
|
CString m_sName;
|
|
|
|
//项描述
|
|
CString m_sDesc;
|
|
};
|
|
|
|
#endif |