SHARP Zaurus
ザウルスサポートステーション
クラス SlZDataBase の解説
メインページ   クラス階層   アルファベット順リスト   データ構造リスト   ファイルリスト   データ構造メンバ  
クラス SlZDataBase の解説

PIMのデータベースを利用するためのクラス. より詳しく...  適合機種情報はこちら

#include <slzdb.h>

SlZDataBaseに対するクラス階層図

Inheritance graph
[凡例]
SlZDataBaseのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバリスト

公開型

enum  CategoriesType { CategoriesXml = 0, CategoriesZdtm, CategoriesNone }

公開メンバ

 SlZDataBase (const char *boxFName, const SlZDataBaseItemInfo &items, QWidget *parent=NULL, bool isReadOnly=false)
 ~SlZDataBase ()
QString readField (int field, CardId cardId=0)
 cardIdで指定したカードのfieldという項目からQString型のデータを読み出す.

QDateTime readTimeField (int field, CardId cardId=0, bool isUtc=false)
 cardIdで指定したカードのfieldという項目からQDateTime型のデータを読み出す.

QDate readDateField (int field, CardId cardId=0)
 cardIdで指定したカードのfieldという項目からQDate型のデータを読み出す.

int readUcharField (int field, CardId cardId=0)
 cardIdで指定したカードのfieldという項目からuchar型のデータを読み出す.

int readUshortField (int field, CardId cardId=0)
 cardIdで指定したカードのfieldという項目からushort型のデータを読み出す.

int readUlongField (int field, CardId cardId=0)
 cardIdで指定したカードのfieldという項目からulong型のデータを読み出す.

bool clearField (int field)
 cardIdで指定したカードのfieldという項目を空にする.

bool writeField (int field, const char *data, ulong len)
 fieldで指定した項目に長さlenのデータdataを書き込む. より詳しく...

bool writeField (int field, const QDateTime &time)
 fieldで指定した項目にQDateTime型のデータを書き込む. より詳しく...

bool writeField (int field, const QDate &date)
 fieldで指定した項目にQDate型のデータを書き込む. より詳しく...

bool writeField (int field, const QString &data)
 fieldで指定した項目にQString型のデータを書き込む. より詳しく...

bool writeField (int field, uchar value)
 fieldで指定した項目にuchar型のデータを書き込む. より詳しく...

bool writeField (int field, ushort value)
 fieldで指定した項目にushort型のデータを書き込む. より詳しく...

bool writeField (int field, ulong value)
 fieldで指定した項目にulong型のデータを書き込む. より詳しく...

bool sortField (int field, bool isAscendent)
 fieldで指定した項目でデータベースをソートする.

bool searchField (CardId *cardId, QString string, int field, uchar searchMode, bool isNext=true)
DataType readFieldType (int field) const
 fieldで指定した項目のデータタイプを獲得する.

int nameToFieldId (int field) const
 fieldで指定した項目の項目番号を獲得する.

QString itemName (int field) const
 fieldで指定した項目の項目識別名を獲得する.

CardId resumeCardId ()

静的公開メンバ

const QString addressbookFileName (bool isBase=false)
 アドレス帳のデータベースファイル名.

const QString todolistFileName (bool isBase=false)
 Todoのデータベースファイル名.

const QString datebookFileName (bool isBase=false)
 カレンダーのデータベースファイル名.

const QString mailInboxFileName (int storage=0)
 メールのInboxデータベースファイル名.

const QString mailOutboxFileName (int storage=0)
 メールのOutboxデータベースファイル名.

const QString memoFileName (bool isBase=false)
 メモ帳のデータベースファイル名.

const QString addressbookMasterIdx (bool isBase=false)
 アドレス帳のマスターインデックス名.

const QString todolistMasterIdx (bool isBase=false)
 Todoのマスターインデックス名.

const QString datebookMasterIdx (bool isBase=false)
 カレンダーのマスターインデックス名.

const QString datebookStartIdx (bool isBase=false)
 カレンダーの(検索用)インデックス名 RepeatでないNormalデータのみ.

const QString datebookEndIdx (bool isBase=false)
 カレンダーの(検索用)インデックス名 RepeatでないNormalデータのみ.

const QString datebookMultiIdx (bool isBase=false)
 カレンダーの(検索用)インデックス名 RepeatでないNormalデータのみ.

const QString datebookRepeatIdx (bool isBase=false)
 カレンダーの(Repeat専用)インデックス名.

const QString mailInboxMasterIdx (int storage=0)
 メールのInboxマスターインデックス名.

const QString mailOutboxMasterIdx (int storage=0)
 メールのOutboxマスターインデックス名.

const QString memoMasterIdx (bool isBase=false)
 メモ帳のマスターインデックス名.

SlZDataBaseItemInfo addressbookItems ()
 アドレス帳の項目情報.

SlZDataBaseItemInfo todolistItems ()
 Todoの項目情報.

SlZDataBaseItemInfo datebookItems ()
 カレンダーの項目情報.

SlZDataBaseItemInfo maillistItems ()
 Mailの項目情報.

bool createAddressbookFile (const SlZDataManagerIndexInfo &indexes)
 アドレス帳のデータベース作成.

bool createTodolistFile (const SlZDataManagerIndexInfo &indexes)
 Todoのデータベース作成.

bool createDatebookFile (const SlZDataManagerIndexInfo &indexes)
 カレンダーのデータベース作成.

bool createMailInboxFile (const SlZDataManagerIndexInfo &indexes, int storage)
 メールのInboxデータベース作成.

bool createMailOutboxFile (const SlZDataManagerIndexInfo &indexes, int storage)
 メールのOutboxデータベース作成.

bool createMemoFile (const SlZDataManagerIndexInfo &indexes)
bool addAddressbookEntry (SlZDataBase *zdb, CardId *cardId, const Contact &cnt, CategoriesType type=CategoriesZdtm)
 アドレス帳のデータベースにContact型のデータを新規に追加する. より詳しく...

bool addTodolistEntry (SlZDataBase *zdb, CardId *cardId, const Task &task, CategoriesType type=CategoriesZdtm)
 TodoのデータベースにTask型のデータを新規に追加する. より詳しく...

bool addDatebookEntry (SlZDataBase *zdb, CardId *cardId, const Event &event, CategoriesType type=CategoriesZdtm)
 カレンダーのデータベースにEvent型のデータを新規に追加する. より詳しく...

bool addAddressbookEntry (SlZDataBase *zdb, CardId *cardId, SlZDataManager *zdtm, CardId card, SlCategories *boxCat=0)
 アドレス帳のデータベースに指定されたデータベースのデータを新規に追加する. より詳しく...

bool addTodolistEntry (SlZDataBase *zdb, CardId *cardId, SlZDataManager *zdtm, CardId card, SlCategories *boxCat=0)
 Todoのデータベースに指定されたデータベースのデータを新規に追加する. より詳しく...

bool addDatebookEntry (SlZDataBase *zdb, CardId *cardId, SlZDataManager *zdtm, CardId card, SlCategories *boxCat=0)
 カレンダーのデータベースに指定されたデータベースのデータを新規に追加する. より詳しく...

bool editAddressbookEntry (SlZDataBase *zdb, CardId *cardId, const Contact &cnt, CategoriesType type=CategoriesZdtm)
 アドレス帳のデータベースに登録されたデータをContact型のデータで置き換える. より詳しく...

bool editTodolistEntry (SlZDataBase *zdb, CardId *cardId, const Task &task, CategoriesType type=CategoriesZdtm)
 Todoのデータベースに登録されたデータをTask型のデータで置き換える. より詳しく...

bool editDatebookEntry (SlZDataBase *zdb, CardId *cardId, const Event &event, CategoriesType type=CategoriesZdtm)
 カレンダーのデータベースに登録されたデータをEvent型のデータで置き換える. より詳しく...

Contact toContact (SlZDataBase *zdb, CardId cardId, CategoriesType type=CategoriesZdtm)
 アドレス帳のデータベースからContact型のデータを獲得する. より詳しく...

Task toTask (SlZDataBase *zdb, CardId cardId, CategoriesType type=CategoriesZdtm)
 TodoのデータベースからTask型のデータを獲得する. より詳しく...

Event toEvent (SlZDataBase *zdb, CardId cardId, CategoriesType type=CategoriesZdtm)
 カレンダーのデータベースからEvent型のデータを獲得する. より詳しく...

QArray<int> eventCategoryZdtmToXml (const QArray< int > &dtmIds)
 カレンダーのカテゴリー情報をデータマネージャーベースからxmlベースに変換する.

QArray<int> eventCategoryXmlToZdtm (const QArray< int > &xmlIds)
 カレンダーのカテゴリー情報をxmlベースからデータマネージャーベースに変換する.


解説

PIMのデータベースを利用するためのクラス.

SlZDataBaseはPIMのZaurusデータベースの構造を決定し、 データの読み書きを行うクラスで、SlZDataManagerクラスを継承しています。 PIM(アドレス帳、Todo、カレンダー)のデータベースにアクセスする場合は、 このクラスを利用するようにしてください。

また、データにアクセスする時に使用する項目は以下の定義を利用してください

  • アドレス帳 ---- ZdbAdrs
  • Todo ---------- ZdbTodo
  • カレンダー ---- ZdbDate
<アドレス帳のデータベースにアクセスする例>

例:データベースを作成する

  SlZDataManagerIndexInfo indexInfo; 

  // インデックス情報を指定してデータベースを作成
  SlZDataBase::createAddressbookFile(indexInfo);

例:データベースを使い始める

  SlZDataBase *zdb;

  // ファイル名と項目情報を指定してSlZDataBaseのインスタンス生成
  zdb = new SlZDataBase(SlZDataBase::addressbookFileName(),
                        SlZDataBase::addressbookItems());

例:データベースを使い終る

  // SlZDataBaseのインスタンス破棄
  delete zdb;

例:データを書き込む

  // 指定カードを編集開始(cardIdが0の場合は新規カード)
  if(!zdb->startEditCard(cardId)){
      return false;
  }
  // 各項目の書き込み
  if(!zdb->writeField(ZdbAdrs::FirstName,fast) ||
     !zdb->writeField(ZdbAdrs::LastName,last)){
      // 編集を破棄する
      zdb->cancelEditCard();
      return false;
  }
  // 編集完了
  if(!zdb->finishEditCard(&cardId)){
      // エラー
      return false;
  }

例:データを読み出す

  QString homeAdrs = zdb->readItem(ZdbAdrs::HomeState,cardId)
                     + zdb->readItem(ZdbAdrs::HomeCity,cardId)
                     + zdb->readItem(ZdbAdrs::HomeStreet,cardId);


メンバ関数の解説

bool SlZDataBase::addAddressbookEntry ( SlZDataBase * zdb,
CardId * cardId,
SlZDataManager * zdtm,
CardId card,
SlCategories * boxCat = 0 ) [static]
 

アドレス帳のデータベースに指定されたデータベースのデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • zdtm 追加するデータのデータベース
  • card 追加するデータのカードID
  • boxcat 追加するデータのカテゴリー情報

bool SlZDataBase::addAddressbookEntry ( SlZDataBase * zdb,
CardId * cardId,
const Contact & cnt,
CategoriesType type = CategoriesZdtm ) [static]
 

アドレス帳のデータベースにContact型のデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • cnt 追加するデータ
  • type 追加するデータのカテゴリー情報のタイプ

bool SlZDataBase::addDatebookEntry ( SlZDataBase * zdb,
CardId * cardId,
SlZDataManager * zdtm,
CardId card,
SlCategories * boxCat = 0 ) [static]
 

カレンダーのデータベースに指定されたデータベースのデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • zdtm 追加するデータのデータベース
  • card 追加するデータのカードID
  • boxcat 追加するデータのカテゴリー情報

bool SlZDataBase::addDatebookEntry ( SlZDataBase * zdb,
CardId * cardId,
const Event & event,
CategoriesType type = CategoriesZdtm ) [static]
 

カレンダーのデータベースにEvent型のデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • event 追加するデータ
  • type 追加するデータのカテゴリー情報のタイプ

bool SlZDataBase::addTodolistEntry ( SlZDataBase * zdb,
CardId * cardId,
SlZDataManager * zdtm,
CardId card,
SlCategories * boxCat = 0 ) [static]
 

Todoのデータベースに指定されたデータベースのデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • zdtm 追加するデータのデータベース
  • card 追加するデータのカードID
  • boxcat 追加するデータのカテゴリー情報

bool SlZDataBase::addTodolistEntry ( SlZDataBase * zdb,
CardId * cardId,
const Task & task,
CategoriesType type = CategoriesZdtm ) [static]
 

TodoのデータベースにTask型のデータを新規に追加する.

  • zdb データベース
  • cardId 追加したデータのカードIDが格納される
  • task 追加するデータ
  • type 追加するデータのカテゴリー情報のタイプ

bool SlZDataBase::createMemoFile ( const SlZDataManagerIndexInfo & indexes ) [static]
 

メモ帳のデータベース作成

bool SlZDataBase::editAddressbookEntry ( SlZDataBase * zdb,
CardId * cardId,
const Contact & cnt,
CategoriesType type = CategoriesZdtm ) [static]
 

アドレス帳のデータベースに登録されたデータをContact型のデータで置き換える.

  • zdb データベース
  • cardId 置き換えたいデータのカードID
  • cnt 置き換えるデータ
  • type Contact型のデータのカテゴリー情報のタイプ

bool SlZDataBase::editDatebookEntry ( SlZDataBase * zdb,
CardId * cardId,
const Event & event,
CategoriesType type = CategoriesZdtm ) [static]
 

カレンダーのデータベースに登録されたデータをEvent型のデータで置き換える.

  • zdb データベース
  • cardId 置き換えたいデータのカードID
  • cnt 置き換えるデータ
  • type Event型のデータのカテゴリー情報のタイプ

bool SlZDataBase::editTodolistEntry ( SlZDataBase * zdb,
CardId * cardId,
const Task & task,
CategoriesType type = CategoriesZdtm ) [static]
 

Todoのデータベースに登録されたデータをTask型のデータで置き換える.

  • zdb データベース
  • cardId 置き換えたいデータのカードID
  • task 置き換えるデータ
  • type Task型のデータのカテゴリー情報のタイプ

Contact SlZDataBase::toContact ( SlZDataBase * zdb,
CardId cardId,
CategoriesType type = CategoriesZdtm ) [static]
 

アドレス帳のデータベースからContact型のデータを獲得する.

  • zdb データベース
  • cardId 獲得したいカードID
  • type Contact型のデータのカテゴリー情報のタイプ

Event SlZDataBase::toEvent ( SlZDataBase * zdb,
CardId cardId,
CategoriesType type = CategoriesZdtm ) [static]
 

カレンダーのデータベースからEvent型のデータを獲得する.

  • zdb データベース
  • cardId 獲得したいカードID
  • type Event型のデータのカテゴリー情報のタイプ

Task SlZDataBase::toTask ( SlZDataBase * zdb,
CardId cardId,
CategoriesType type = CategoriesZdtm ) [static]
 

TodoのデータベースからTask型のデータを獲得する.

  • zdb データベース
  • cardId 獲得したいカードID
  • type Task型のデータのカテゴリー情報のタイプ

bool SlZDataBase::writeField ( int field,
ulong value )
 

fieldで指定した項目にulong型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
ushort value )
 

fieldで指定した項目にushort型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
uchar value )
 

fieldで指定した項目にuchar型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
const QString & data )
 

fieldで指定した項目にQString型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
const QDate & date )
 

fieldで指定した項目にQDate型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
const QDateTime & time )
 

fieldで指定した項目にQDateTime型のデータを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

bool SlZDataBase::writeField ( int field,
const char * data,
ulong len )
 

fieldで指定した項目に長さlenのデータdataを書き込む.

(注)この関数を呼び出す前にstartEditCard()でカードIDを指定してください

 
▲このページのトップへ
関連サイト   修理/ご相談窓口   利用上のご注意
COPYRIGHT