www.pudn.com > isync2[1].0.rar > CTransferCard.h


/*************************************************************************************************\
*    文件名称 :CTransferCard.h
*    CopyRight (c) 2004 汉王科技公司
*
*    作者    : 王欣
*    创建时间: 2004年09月06日
*    当前版本: 0.1
*
*    说明    :名片传输类,用于名片同步
*
\**************************************************************************************************/
#ifndef CTRANSFERCARD_H
#define CTRANSFERCARD_H

#include 
#include 

class CardStruct_T;

class CTransferCard
{
public:
  enum RetValue_T
  {
    ERR_OPENDB = 0,
    ERR_READDB,
    ERR_WRITEDB,

    RET_DBFULL,
    RET_READ_OVER,
    RET_OK
  };

  CTransferCard ();
  ~CTransferCard ();

  const char *GetErrString (RetValue_T code);
  RetValue_T InitRead (void);    // 准备读取数据
  RetValue_T InitWrite (void);    // 准备写入数据
  RetValue_T ReadCard (CardStruct_T *pcard);    // 读取一条数据
  RetValue_T WriteCard (CardStruct_T *pcard);    // 写入一条数据
  void TransferComplete (void);    // 结束读取或写入过程
  int Transfered (void);    // 得到已经读取或写入的名片数量

private:

template
  friend bool AddGroupsFromFile (T *p);

  static const int len = 64;
  static char errString[len];
  static const char *errInfo[RET_OK + 1];

  typedef std::vector StrVct_T;
  typedef StrVct_T::iterator SVIter_T;
  enum TransType_T
  {
    UN_INITIAL,
    PC_TO_IPHONE,
    IPHONE_TO_PC
  };

  CDatabase cardDb;
  size_t readId;
  TransType_T stat;
  int transfered;
  StrVct_T typeVct;

  void AddType (const char *typeName);
  bool SaveTypeInfo (void);
};

inline const char *CTransferCard::GetErrString (RetValue_T code)
{
  return errInfo[code];
}

inline int CTransferCard::Transfered (void)
{
  return transfered;
}

#endif