00001 #ifndef PV_ENGINE_TYPES_H_INCLUDED
00002 #define PV_ENGINE_TYPES_H_INCLUDED
00003
00004 #ifndef OSCL_BASE_H_INCLUDED
00005 #include "oscl_base.h"
00006 #endif
00007 #ifndef OSCL_STRING_H_INCLUDED
00008 #include "oscl_string.h"
00009 #endif
00010 #ifndef OSCL_STRING_CONTAINERS_H_INCLUDED
00011 #include "oscl_string_containers.h"
00012 #endif
00013 #ifndef OSCL_MEM_H_INCLUDED
00014 #include "oscl_mem.h"
00015 #endif
00016 #ifndef PVMF_FORMAT_TYPE_H_INCLUDED
00017 #include "pvmf_format_type.h"
00018 #endif
00019 #ifndef PV_UUID_H_INCLUDED
00020 #include "pv_uuid.h"
00021 #endif
00022 #ifndef PV_INTERFACE_H_INCLUDED
00023 #include "pv_interface.h"
00024 #endif
00025 #ifndef OSCL_VECTOR_H_INCLUDED
00026 #include "oscl_vector.h"
00027 #endif
00028
00029
00030 typedef int32 PVCommandId;
00031 typedef int32 PVEventType;
00032 typedef OsclAny* PVExclusivePtr;
00033 typedef int32 PVResponseType;
00034 typedef int32 PVLogLevelInfo;
00035 typedef Oscl_Vector<OSCL_HeapString<OsclMemAllocator>, OsclMemAllocator> PVPMetadataList;
00036
00037 typedef int32 PVSDKModuleInfo;
00038
00039
00040 struct PVSDKInfo
00041 {
00042 PVSDKInfo()
00043 {
00044 iDate = 0x00000000;
00045 }
00046
00047 PVSDKInfo& operator=(const PVSDKInfo& aSDKInfo)
00048 {
00049 iLabel = aSDKInfo.iLabel;
00050 iDate = aSDKInfo.iDate;
00051 return *this;
00052 }
00053
00054 OSCL_StackString<80> iLabel;
00055 uint32 iDate;
00056 };
00057
00058
00065 class PVEngineCommand
00066 {
00067 public:
00077 PVEngineCommand(int32 aCmdType, PVCommandId aCmdId, OsclAny* aContextData = NULL, OsclAny* aParam1 = NULL, OsclAny* aParam2 = NULL, OsclAny* aParam3 = NULL) :
00078 iCmdType(aCmdType), iCmdId(aCmdId), iContextData(aContextData), iParam1(aParam1), iParam2(aParam2), iParam3(aParam3) {}
00079
00087 PVEngineCommand(const PVEngineCommand& aCmd)
00088 {
00089 iCmdType = aCmd.iCmdType;
00090 iCmdId = aCmd.iCmdId;
00091 iContextData = aCmd.iContextData;
00092 iParam1 = aCmd.iParam1;
00093 iParam2 = aCmd.iParam2;
00094 iParam3 = aCmd.iParam3;
00095 iMimeType = aCmd.iMimeType;
00096 iUuid = aCmd.iUuid;
00097 }
00098
00104 int32 GetCmdType()const
00105 {
00106 return iCmdType;
00107 }
00108
00114 PVCommandId GetCmdId()const
00115 {
00116 return iCmdId;
00117 }
00118
00124 OsclAny* GetContext()const
00125 {
00126 return iContextData;
00127 }
00128
00134 OsclAny* GetParam1()const
00135 {
00136 return iParam1;
00137 }
00138
00144 OsclAny* GetParam2()const
00145 {
00146 return iParam2;
00147 }
00148
00154 OsclAny* GetParam3()const
00155 {
00156 return iParam3;
00157 }
00158
00164 const PvmfMimeString& GetMimeType()const
00165 {
00166 return iMimeType;
00167 }
00168
00174 PVUuid GetUuid()const
00175 {
00176 return iUuid;
00177 }
00178
00182 void SetMimeType(const PvmfMimeString& aMimeType)
00183 {
00184 iMimeType = aMimeType;
00185 }
00186
00190 void SetUuid(const PVUuid& aUuid)
00191 {
00192 iUuid = aUuid;
00193 }
00194
00195 int32 iCmdType;
00196 PVCommandId iCmdId;
00197 OsclAny* iContextData;
00198 OsclAny* iParam1;
00199 OsclAny* iParam2;
00200 OsclAny* iParam3;
00201 OSCL_HeapString<OsclMemAllocator> iMimeType;
00202 PVUuid iUuid;
00203 };
00204
00205
00212 class PVEngineAsyncEvent
00213 {
00214 public:
00224 PVEngineAsyncEvent(int32 aAsyncEventType) :
00225 iAsyncEventType(aAsyncEventType) {}
00226
00234 PVEngineAsyncEvent(const PVEngineAsyncEvent& aAsyncEvent)
00235 {
00236 iAsyncEventType = aAsyncEvent.iAsyncEventType;
00237 }
00238
00244 int32 GetAsyncEventType()const
00245 {
00246 return iAsyncEventType;
00247 }
00248
00249 int32 iAsyncEventType;
00250 };
00251
00252 #endif
00253