include/CCalendar.h

Go to the documentation of this file.
00001 
00016 #ifndef __CCALENDAR_H__
00017 #define __CCALENDAR_H__
00018 
00019 #include <sqlite3.h>
00020 
00021 #include "CEvent.h"
00022 #include "CTodo.h"
00023 #include "CJournal.h"
00024 #include "CBdayEvent.h"
00025 #include "CProperties.h"
00026 class CProperties;
00027 const int SEC_IN_DAY = 86400;
00028 const int ATTACHMENTS = 2;
00029 const int RECURSIVE = 4;
00030 const int ATTENDEES = 6;
00031 const int ORGANIZER = 8;
00032 
00033 enum ACTION {
00034     E_ADD = 0,
00035     E_MODIFY,
00036     E_DELETE
00037 };
00038 
00039 enum  CalendarColour {
00040     COLOUR_RED = 0,
00041     COLOUR_GREEN,
00042     COLOUR_BLUE,
00043     COLOUR_WHITE,
00044     COLOUR_DARKRED,
00045     COLOUR_DARKBLUE,
00046     COLOUR_DARKGREEN,
00047     COLOUR_ORANGE,
00048     COLOUR_VIOLET,
00049     COLOUR_YELLOW
00050     };
00051 
00052 enum SyncProfileType{
00053     SYNC_METHOD_NONE=0,
00054     SYNC_METHOD_TWOWAY ,
00055     SYNC_METHOD_SEND,
00056     SYNC_METHOD_RECEIVE,
00057     SYNC_METHOD_WEB
00058 };
00059 
00060 typedef enum {
00061     LOCAL_CALENDAR = 0,
00062     BIRTHDAY_CALENDAR,
00063     SYNC_CALENDAR,
00064     DEFAULT_PRIVATE,
00065     DEFAULT_SYNC
00066 } CalendarType;
00067 
00068 
00076 string intToString(int i);
00077 
00078 
00087 class CCalendar {
00088 
00089   public:
00090 
00094     CCalendar(CCalendar & ref);
00095 
00096 
00100     const CCalendar & operator=(const CCalendar & right);
00101 
00115      CCalendar(int iCalId, string szName, CalendarColour iColour, bool fIsReadOnly, 
00116              bool fIsVisible, CalendarType iCalType ,string szCalendarTune);
00117 
00131      CCalendar(string szName, CalendarColour iColour, bool fIsReadOnly,
00132              bool fIsVisible, CalendarType iCalType,string szCalendarTune,string szCalendarVersion);
00133 
00144      vector < CComponent * > getAllEventsTodosForCalendar( int iStDate, int iEndDate,
00145              int iLimit , int iOffset,int& pErrorCode);
00146 
00154      CCalendar();
00155 
00169      bool setCalendarColor(CalendarColour iCalendarColor);
00170 
00182     CalendarColour getCalendarColor();
00183 
00191     bool setCalendarName(string szName);
00192 
00199     string getCalendarName();
00200 
00208     bool setCalendarId(int iId);
00209 
00216     int getCalendarId();
00217 
00218 
00228     bool setCalendarType(CalendarType iCalType);
00235     void setProfileType(SyncProfileType iProfile);
00242     SyncProfileType getProfileType();
00243         
00253     CalendarType getCalendarType();
00254 
00261     bool setCalendarReadOnly(bool fIsReadOnly);
00262 
00269     bool IsReadOnly();
00270 
00277     bool setCalendarShown(bool fIsVisible);
00278 
00285     bool IsShown();
00286 
00295     bool modifyEvent(CEvent * pEvent,int &pErrorCode);
00296 
00297 
00306     bool modifyBirthDay(CBdayEvent *pBday,int& pErrorCode);
00307 
00316     bool  modifyJournal(CJournal * pJournal,int& pErrorCode);
00317 
00326     bool  modifyTodo(CTodo * pTodo,int& pErrorCode);
00327 
00338     bool  addEvent(CEvent * pEvent,int& pErrorCode);
00339 
00340 
00350     bool addBirthDay(CBdayEvent * pBday,int& pErrorCode);
00351 
00362     bool addTodo(CTodo * ptrTodo,int& pErrorCode);
00363 
00374     bool addJournal(CJournal * ptrJournal,int& pErrorCode);
00375 
00385     bool deleteEvent(string sEventID,int& pErrorCode);
00386 
00387 
00395     bool deleteBirthDay(int iUid,int& pErrorCode);
00396 
00406     bool  deleteTodo(string sTodoID,int& pErrorCode);
00407 
00416     bool deleteJournal(string sJournalID,int& pErrorCode);
00417     
00425     void  deleteComponent(string  sId,int& pErrorCode);
00426 
00435      vector < long > getCookie(string ietjId,int& pErrorCode);
00436      
00443      string getCalendarVersion();
00444      
00451     void setCalendarVersion(string szCalendarVersion);
00457     bool registerAlarmForVisibleCalendar( int& perrorCode);
00458 
00467     ~CCalendar();
00477      vector<string> getIdList(int iCompType,int& pErrorCode);
00478 
00490     CEvent *getEvent(string  sComponentID,int& pErrorCode);
00491 
00492 
00504     CTodo *getTodo(string szComponentID,int& pErrorCode);
00505 
00506 
00518     CJournal *getJournal(string sComponentID,int& pErrorCode);
00528      bool  checkDuplicateEntry(CComponent* pEntry,int iType , int& pErrorCode);
00529 
00530 
00539      vector < CEvent * >getDetailedEventList(int& pErrorCode);
00540 
00541 
00551      vector < CTodo * >getTodoListDetailed(int& pErrorCode);
00552 
00553 
00562      vector < CJournal * >getJournalListDetailed(int& pErrorCode);
00563 
00564 
00574     bool deleteBirthDay(string szUID,int& pErrorCode);
00575 
00595     vector < CComponent * > getComponents(int iCalendarID,
00596                     int iStartDate, int iEndDate,int& pErrorCode);
00597     
00598     
00623     vector < CComponent * > getComponents(int iCalendarID, int iStartDate,
00624                     int iEndDate, int iLimit , int iOffset,int& pErrorCode);
00625 
00626 
00638     int updateTrash (int iCalendarID, string iComponentID, int iComponentType,
00639         time_t iDeletedTime, int& pErrorCode);
00640 
00641 
00651     vector < CEvent * > getAllAddedEvents(int iDate,int& pErrorCode);
00652     
00662     vector < CTodo * > getAllAddedTodos(int iDate,int& pErrorCode);
00663 
00673     vector < CJournal * > getAllAddedJournals(int iDate,int& pErrorCode);
00674 
00685     vector < CComponent * >getAllAddItems(int iDate,int& pErrorCode);
00686 
00697     vector < CEvent * > getAllModifiedEvents(int iDate,int&  pErrorCode);
00698     
00710     vector < CTodo * > getAllModifiedTodos(int iDate,int&  pErrorCode);
00711 
00722     vector < CJournal * > getAllModifiedJournals(int iDate,int&  pErrorCode);
00723     
00734      vector < CComponent * >getAllModifiedItems(int iDate,int& pErrorCode);
00735 
00747      vector < string >getAllDeletedItems(int iDate,int iType,int& pErrorCode);
00748     
00756     int exportCalendarEntries(string szFilename,int& pErrorCode);
00757 
00766     bool setNextAlarm (string sComponentId,int& pErrorCode);
00767 
00774     void setCalendarTune(string szCalendarTune);
00781     string getCalendarTune();
00782             
00783     
00793     bool addParameters(map< string, vector < CParameters* > > hashMap,string sId,ACTION iAction,int& pErrorCode);
00794 
00805     bool addXProperties(vector < CProperties* > vXProp,string sId,ACTION iAction,int& pErrorCode);
00812     bool isComponentExists(string szUid);
00823     string getExternalToLocalId(string sId,bool fetchLocal, int & pErrorCode);
00824 
00833     bool addMapTableInfo(string sLocalId,string sExternalId,int & pErrorCode);
00842     vector<string> getAllDeletedEvents (int iLastSyncDate,int& pErrorCode);
00851     vector<string> getAllDeletedJournals(int iLastSyncDate,int& pErrorCode);
00852 
00861     vector<string> getAllDeletedTodos(int iLastSyncDate,int& pErrorCode);
00870     bool destroyExistingValidAlarms(int& pErrorCode );
00871 
00872   private:
00881     bool addDataUtility(ACTION iOperation, string sId ,int& pErrorCode);
00888     bool checkFieldinTable(string szTable,string szField,string szValue);
00889 
00900     vector <CComponent *> getRecursiveEventsInRange( int iStartDate,
00901                 int iEndDate, vector < CComponent * >vListEntry,int& pErrorCode);
00902 
00903 
00914     vector < string > getChangeIds(int iComponentType, int iChangeType,
00915                        int iDate,int& pErrorCode);
00916     
00926     bool entrySetModifiedTime(CComponent * pEntry,int& pErrorCode);
00927 
00936     bool checkEntryExist(string szTable, string iId,int& pErrorCode);
00937 
00946     template < class comp > bool addCompDetails(sqlite3_stmt * pStmt, comp * cDet
00947                     ,int& pErrorCode);
00948     
00949     
00957     bool addEventCompDetails(CEvent * pEvent,int& pErrorCode);
00958     
00966     bool addTodoCompDetails(CTodo * ptrTodo,int& pErrorCode);
00967 
00975     bool addJournalCompDetails(CJournal * ptrJournal,int& pErrorCode);
00976 
00986     bool manageCookie(const ACTION iAction, CComponent * pcomp,int& pErrorCode);
00996     bool addAlarm(CAlarm * ptrAlarm, ACTION iAction, string sId,int& pErrorCode);
00997     
01008     bool addRecurrence(CRecurrence * ptrRecur, ACTION iAction,
01009                        string sId,int& pErrorCode);
01010     
01024     bool addAttendeeDetails(vector < CAttendee * >vAttendeeList, string sId,
01025                        int iType,ACTION iAction,int& pErrorCode);
01026     
01039     bool addOrganizer(COrganizer * ptrOrganizer, string sId,
01040                        int iType,ACTION iAction,int& pErrorCode);
01041 
01052     template < class ent > int addComponent(ent * pEvent, ACTION iAction,int& pErrorCode);
01053 
01054 
01055     string szName; 
01057     CalendarColour iColor; 
01059     bool fReadOnly; 
01061     bool fIsVisible; 
01063     int iCalId; 
01065     CalendarType iCalType; 
01067     string szCalendarTune; /*calendar Tune */
01068     
01069     string szCalendarVersion ; /*Calendar Version */
01070     
01071     SyncProfileType iProfileType ; /* sync profile type*/
01072                              
01073 };
01074 
01075 #endif

Generated on Tue Feb 24 16:21:31 2009 for calendar-backend by  doxygen 1.5.1