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 "COrganizer.h"
00028 #include "CAttendee.h"
00029 #include "CComponent.h"
00030 #include "COrganizer.h"
00031 #include "CAttendee.h"
00032 #include "CParameters.h"
00033 #include "CCalendarDB.h"
00034 #include "CProperties.h"
00035 using namespace std;
00036
00043 class CComponentDetails:public CComponent {
00044
00045 public:
00046
00047
00048 CComponentDetails();
00049
00050
00051 CComponentDetails(string description);
00052
00053
00054 CComponentDetails(string summary, int tododue, int status);
00055
00056
00057 CComponentDetails(string summary, string description, string location, int dateStart,
00058 int dateEnd);
00059
00060 void initEvent();
00061
00065 CComponentDetails(CComponentDetails & ref);
00066
00070 const CComponentDetails & operator=(const CComponentDetails & right);
00071
00078 bool setClas(string szClas);
00079
00086 string getClas();
00087
00094 bool setDateStamp(int iDateStamp);
00095
00102 int getDateStamp();
00103
00110 bool setOrganizer(COrganizer *pOrg);
00111
00118 COrganizer *getOrganizer();
00119
00126 bool setAttendees(vector < CAttendee * > vAttendeeList);
00127
00134 vector < CAttendee * >getAttendees();
00135
00143 bool setAttachments(vector < string > vAttachList);
00144
00151 vector < string >getAttachments();
00152
00159 bool setSequence(int iSequence);
00160
00167 int getSequence();
00168
00175 bool setUid(int iUId);
00176
00183 int getUid();
00184
00191 bool setUrl(string szUrl);
00192
00199 string getUrl();
00200
00207 bool setCategories(string szCategories);
00208
00215 string getCategories();
00216
00223 bool setComments(string szComments);
00224
00231 string getComments();
00232
00239 bool setContact(string szContact);
00240
00247 string getContact();
00248
00255 bool setRelated(string szRelated);
00256
00263 string getRelated();
00264
00271 bool setResources(string szResources);
00272
00279 string getResources();
00287 vector <CAttendee *> retrieveAttendeeDetails();
00296 COrganizer* retrieveOrganizerDetails();
00297
00304 bool setXProperties(vector < CProperties* >);
00305
00312 vector < CProperties* > getXProperties();
00313
00316 virtual ~ CComponentDetails();
00317
00320 CComponentDetails(string sId, int iType, int iFlags, string szSummary,
00321 string szDescription, string szLocation, int iStatus, int iDateStart,
00322 int iDateEnd, int iLastModified, int iCreatedTime, int iDatestamp,
00323 COrganizer * pOrganizer, vector < CAttendee * >vAttendee,
00324 vector < string >vAttachements, int iSequence, int iUId, string szUrl,
00325 string szCategory, string szComments, string szContacts,
00326 string szRelated, string szResources, vector < CProperties* >vXProp,
00327 map<string,vector <CParameters*> > hashMap);
00328
00335 map<string,vector <CParameters*> > getHashMap();
00336
00343 bool setHashMap(map<string, vector <CParameters*> > hashMap);
00344
00353 map< string, vector < CParameters* > > retrieveParameterDetails();
00354
00361 vector < CParameters* > getParameter(QueryResult *pQr);
00371 vector < CProperties* > retrieveXPropertyDetails();
00379 vector<string> getPropertyValues( string szProperty);
00386 CAttendee* convertParamToAttendee(vector<CParameters*> vParam);
00396 vector <CParameters*> getParameter(string szPropName,string szPropValue);
00403 COrganizer* convertParamToOrganizer(vector<CParameters*> vParam);
00404
00405 private:
00406
00407
00408
00409 int iDateStamp;
00411 COrganizer *pOrganizer;
00413
00414
00415 vector < string >vAttachments;
00417 vector < CAttendee *>vAttendee;
00419 int iSequence;
00421 int iUId;
00423 string szUrl;
00425 string szCategory;
00427 string szComments;
00429 string szContacts;
00431 string szRelated;
00433 string szResources;
00435 vector <CProperties*> vXProp;
00437 string szClas;
00439 map< string, vector <CParameters*> > hashMap;
00440
00441
00442 };
00443
00444 #endif