agenda.h

来自「在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己」· C头文件 代码 · 共 208 行

H
208
字号
// Agenda.h - Agenda OPX Header
//
// Copyright (c) 1997-2000 Symbian Ltd. All rights reserved.

#ifndef __AGENDAOPX_H__
#define __AGENDAOPX_H__

#ifndef __E32BASE_H__
#include <e32base.h>
#endif

#ifndef __OPLAPI_H__
#include <oplapi.h>
#endif

#ifndef __OPX_H__
#include <opx.h>
#endif

#include <f32file.h>
#include <oplerr.h>   
#include <agmmiter.h>

#define KAgendaVersion 0x600

const TUid KUidAgnModel		= {0x100000F1};
const TInt KUidOpxAgenda	= 0x10000547;

class CAgnEntryModel;

//
// The root class of the OPX
//
class CAgendaOpx : public COpxBase 
	{
public:
	static CAgendaOpx* NewL(OplAPI& aOplAPI);
	void ConstructL();
	CAgendaOpx(OplAPI& aOplAPI);
	~CAgendaOpx() ;
	virtual void RunL(TInt aProcNum);
	virtual TBool CheckVersion(TInt aVersion);

	// Following functions map to the OPL API
	static void OpenL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void CloseL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void AddL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void ModifyL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void DeleteL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void FetchL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void FirstEntryL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void NextEntryL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void EnNewApptL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnNewTodoL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnNewEventL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnNewAnnivL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void EnSetTextL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnSetSymbolL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnSetAlarmL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnSetCrossOutL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnSetTentativeL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void EnGetIdL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetTypeL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetTextL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetSymbolL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetAlarmL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetCrossOutL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetTentativeL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EnGetStatusL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void EnFreeL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void ApSetStartTimeL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void ApSetEndTimeL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void ApGetStartTimeL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void ApGetEndTimeL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void TdAtL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdSetListL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdSetPriorityL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdSetDueDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdSetDurationL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdGetListL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdGetPriorityL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdGetDueDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void TdGetDurationL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void EvSetStartDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EvSetEndDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EvGetStartDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void EvGetEndDateL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void AnSetDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void AnSetShowL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void AnGetDateL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void AnGetShowL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void LiAddL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiChangePositionL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiModifyL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiDeleteL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiFetchL(OplAPI& aAPI, CAgendaOpx& aOpx);

	static void LiNewL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiAtL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiSetTitleL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiSetOrderL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiSetViewDisplayL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiGetIdL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiGetTitleL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiGetOrderL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiGetViewDisplayL(OplAPI& aAPI, CAgendaOpx& aOpx);
	static void LiFreeL(OplAPI& aAPI, CAgendaOpx& aOpx);
private:
	static void DoCloseL(CAgendaOpx& aOpx);
	static TInt32 CastEntryL(CAgnEntry *entry);
	static void CheckEntryType(CAgnEntry *entry, CAgnEntry::TType type);
	enum TExtensions
		{
		EAgnOpen=1,
		EAgnClose,

		EAgnAdd,
		EAgnModify,
		EAgnDelete,
		EAgnFetch,

		EAgnFirstEntry,
		EAgnNextEntry,

		EAgnEnNewAppt,
		EAgnEnNewTodo,
		EAgnEnNewEvent,
		EAgnEnNewAnniv,
		EAgnEnSetText,
		EAgnEnSetSymbol,
		EAgnEnSetAlarm,
		EAgnEnSetCrossOut,
		EAgnEnSetTentative,
		EAgnEnGetId,
		EAgnEnGetType,
		EAgnEnGetText,
		EAgnEnGetSymbol,
		EAgnEnGetAlarm,
		EAgnEnGetCrossOut,
		EAgnEnGetTentative,
		EAgnEnFree,

		EAgnApSetStartTime,
		EAgnApSetEndTime,
		EAgnApGetStartTime,
		EAgnApGetEndTime,

		EAgnTdAt,
		EAgnTdSetList,
		EAgnTdSetPriority,
		EAgnTdSetDueDate,
		EAgnTdSetDuration,
		EAgnTdGetList,
		EAgnTdGetPriority,
		EAgnTdGetDueDate,
		EAgnTdGetDuration,

		EAgnEvSetStartDate,
		EAgnEvSetEndDate,
		EAgnEvGetStartDate,
		EAgnEvGetEndDate,

		EAgnAnSetDate,
		EAgnAnSetShow,
		EAgnAnGetDate,
		EAgnAnGetShow,

		EAgnLiAdd,
		EAgnLiModify,
		EAgnLiDelete,
		EAgnLiFetch,

		EAgnLiNew,
		EAgnLiAt,
		EAgnLiSetTitle,
		EAgnLiSetOrder,
		EAgnLiSetViewDisplay,
		EAgnLiGetId,
		EAgnLiGetTitle,
		EAgnLiGetOrder,
		EAgnLiGetViewDisplay,
		EAgnLiFree,
		EAgnLiChangePosition,
		EAgnEnGetStatus,
		};

	CAgnEntryModel*		iModel;				// for handling agenda editing
	TAgnEntryIter*		iAgnIter;			// for iterating over agenda entries
	CParaFormatLayer*	iParaFormatLayer;	// default text formating
	CCharFormatLayer*	iCharFormatLayer;	// default text formating
	RAgendaServ*		iAgnServ;
	};

inline CAgendaOpx* TheTls() { return((CAgendaOpx *)Dll::Tls()); }
inline void SetTheTls(CAgendaOpx *theTls) { Dll::SetTls(theTls); }
  
#endif __AGENDAOPX_H__

⌨️ 快捷键说明

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