00001
00016 #ifndef __CCOMPONENTDETAILS__H_
00017 #define __CCOMPONENTDETAILS__H_
00018
00019
00020 #include <iostream>
00021 #include <vector>
00022 #include <string>
00023 #include <map>
00024 #include <sys/socket.h>
00025 #include <sys/ioctl.h>
00026 #include <net/if.h>
00027 #include "CComponent.h"
00028 using namespace std;
00029 #ifndef _QRESULT__
00030 #define _QRESULT__
00031 typedef struct _QueryResult QueryResult;
00032
00033 struct _QueryResult {
00034 public:
00035 char **pResult;
00036 int iRow;
00037 int iColumn;
00038 };
00039 #endif
00040
00041
00042 class COrganizer;
00043 class CAttendee;
00044 class COrganizer;
00045 class CAttendee;
00046 class CParameters;
00047 class CCalendarDB;
00048 class CProperties;
00049
00050
00057 class CComponentDetails:public CComponent {
00058
00059 public:
00060
00061
00062 CComponentDetails();
00063
00064
00065 CComponentDetails(string description);
00066
00067
00068 CComponentDetails(string summary, int tododue, int status);
00069
00070
00071 CComponentDetails(string summary, string description, string location, int dateStart,
00072 int dateEnd);
00073
00074 void initEvent();
00075
00079 CComponentDetails(CComponentDetails & ref);
00080
00084 const CComponentDetails & operator=(const CComponentDetails & right);
00085
00092 bool setClas(string szClas);
00093
00100 string getClas();
00101
00108 bool setDateStamp(int iDateStamp);
00109
00116 int getDateStamp();
00117
00124 bool setOrganizer(COrganizer *pOrg);
00125
00132 COrganizer *getOrganizer();
00133
00140 bool setAttendees(vector < CAttendee * > vAttendeeList);
00141
00148 vector < CAttendee * >getAttendees();
00149
00157 bool setAttachments(vector < string > vAttachList);
00158
00165 vector < string >getAttachments();
00166
00173 bool setSequence(int iSequence);
00174
00181 int getSequence();
00182
00189 bool setUid(int iUId);
00190
00197 int getUid();
00198
00205 bool setUrl(string szUrl);
00206
00213 string getUrl();
00214
00221 bool setCategories(string szCategories);
00222
00229 string getCategories();
00230
00237 bool setComments(string szComments);
00238
00245 string getComments();
00246
00253 bool setContact(string szContact);
00254
00261 string getContact();
00262
00269 bool setRelated(string szRelated);
00270
00277 string getRelated();
00278
00285 bool setResources(string szResources);
00286
00293 string getResources();
00301 vector <CAttendee *> retrieveAttendeeDetails();
00310 COrganizer* retrieveOrganizerDetails();
00311
00318 bool setXProperties(vector < CProperties* >);
00319
00326 vector < CProperties* > getXProperties();
00327
00330 virtual ~ CComponentDetails();
00331
00338 map<string,vector <CParameters*> > getHashMap();
00339
00346 bool setHashMap(map<string, vector <CParameters*> > hashMap);
00347
00356 map< string, vector < CParameters* > > retrieveParameterDetails();
00357 map < string,vector < CParameters* > > retrieveXParameterDetails();
00358
00359
00366 vector < CParameters* > getParameter(QueryResult *pQr);
00376 vector < CProperties* > retrieveXPropertyDetails();
00384 vector<string> getPropertyValues( string szProperty);
00391 CAttendee* convertParamToAttendee(vector<CParameters*> vParam);
00401 vector <CParameters*> getParameter(string szPropName,string szPropValue);
00408 COrganizer* convertParamToOrganizer(vector<CParameters*> vParam);
00412 string toString();
00413
00414
00415
00416 private:
00417
00418
00419
00420 int iDateStamp;
00422 COrganizer *pOrganizer;
00424
00425
00426 vector < string >vAttachments;
00428 vector < CAttendee *>vAttendee;
00430 int iSequence;
00432 int iUId;
00434 string szUrl;
00436 string szCategory;
00438 string szComments;
00440 string szContacts;
00442 string szRelated;
00444 string szResources;
00446 vector <CProperties*> vXProp;
00448 string szClas;
00450 map< string, vector <CParameters*> > hashMap;
00451
00452
00453 };
00454
00455 #endif