1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 19 #ifndef PV_2WAY_INTERFACE_CMD_MESSAGES_H_INCLUDED 20 #define PV_2WAY_INTERFACE_CMD_MESSAGES_H_INCLUDED 21 22 #ifndef OSCL_TYPES_H_INCLUDED 23 #include "oscl_types.h" 24 #endif 25 26 #ifndef PV_INTERFACE_MESSAGE_H_INCLUDED 27 #include "pv_interface_cmd_message.h" 28 #endif 29 30 #ifndef PV_2WAY_INTERFACE_H_INCLUDED 31 #include "pv_2way_interface.h" 32 #endif 33 34 #ifndef PV_2WAY_ENGINE_H_INCLUDED 35 #include "pv_2way_engine.h" 36 #endif 37 38 /* 39 #ifndef PV_2WAY_SYMBIAN_INTERFACE_H_INCLUDED 40 #include "pv_2way_symbian_interface.h" 41 #endif 42 43 #ifndef PV_COMMON_SYMBIAN_TYPES_H_INCLUDED 44 #include "pv_common_symbian_types.h" 45 #endif 46 */ 47 48 class PV2WayMessageGetSDKInfo : public CPVCmnInterfaceCmdMessage 49 { 50 public: PV2WayMessageGetSDKInfo(PVSDKInfo & aSDKInfo,OsclAny * aContextData)51 PV2WayMessageGetSDKInfo(PVSDKInfo &aSDKInfo, OsclAny* aContextData) 52 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_GET_SDK_INFO, aContextData) 53 , iSDKInfo(aSDKInfo) 54 { 55 } 56 57 PVSDKInfo &iSDKInfo; 58 }; 59 60 class PV2WayMessageGetSDKModuleInfo : public CPVCmnInterfaceCmdMessage 61 { 62 public: PV2WayMessageGetSDKModuleInfo(PVSDKModuleInfo & aSDKModuleInfo,OsclAny * aContextData)63 PV2WayMessageGetSDKModuleInfo(PVSDKModuleInfo &aSDKModuleInfo, OsclAny* aContextData) 64 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_GET_SDK_MODULE_INFO, aContextData) 65 , iSDKModuleInfo(aSDKModuleInfo) 66 { 67 } 68 69 PVSDKModuleInfo &iSDKModuleInfo; 70 }; 71 72 73 class PV2WayMessageInit : public CPVCmnInterfaceCmdMessage 74 { 75 public: PV2WayMessageInit(PV2WayInitInfo & aInitInfo,OsclAny * aContextData)76 PV2WayMessageInit(PV2WayInitInfo& aInitInfo, OsclAny* aContextData) 77 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_INIT, aContextData) 78 , iInitInfo(aInitInfo) 79 { 80 } 81 82 PV2WayInitInfo& iInitInfo; 83 }; 84 85 class PV2WayMessageReset : public CPVCmnInterfaceCmdMessage 86 { 87 public: PV2WayMessageReset(OsclAny * aContextData)88 PV2WayMessageReset(OsclAny* aContextData) 89 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_RESET, aContextData) 90 { 91 } 92 93 }; 94 95 class PV2WayMessageAddDataSource : public CPVCmnInterfaceCmdMessage 96 { 97 public: PV2WayMessageAddDataSource(PVTrackId aTrackId,PVMFNodeInterface & aDataSource,OsclAny * aContextData)98 PV2WayMessageAddDataSource(PVTrackId aTrackId, PVMFNodeInterface& aDataSource, OsclAny* aContextData) 99 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_ADD_DATA_SOURCE, aContextData) 100 , iTrackId(aTrackId) 101 , iDataSource(aDataSource) 102 { 103 } 104 105 PVTrackId iTrackId; 106 PVMFNodeInterface& iDataSource; 107 }; 108 109 class PV2WayMessageRemoveDataSource : public CPVCmnInterfaceCmdMessage 110 { 111 public: PV2WayMessageRemoveDataSource(PVMFNodeInterface & aDataSource,OsclAny * aContextData)112 PV2WayMessageRemoveDataSource(PVMFNodeInterface& aDataSource, OsclAny* aContextData) 113 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_REMOVE_DATA_SOURCE, aContextData) 114 , iDataSource(aDataSource) 115 { 116 } 117 118 PVMFNodeInterface& iDataSource; 119 }; 120 121 class PV2WayMessageAddDataSink : public CPVCmnInterfaceCmdMessage 122 { 123 public: PV2WayMessageAddDataSink(PVTrackId aTrackId,PVMFNodeInterface & aDataSink,OsclAny * aContextData)124 PV2WayMessageAddDataSink(PVTrackId aTrackId, PVMFNodeInterface& aDataSink, OsclAny* aContextData) 125 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_ADD_DATA_SINK, aContextData) 126 , iTrackId(aTrackId) 127 , iDataSink(aDataSink) 128 { 129 } 130 131 PVTrackId iTrackId; 132 PVMFNodeInterface& iDataSink; 133 }; 134 135 class PV2WayMessageRemoveDataSink : public CPVCmnInterfaceCmdMessage 136 { 137 public: PV2WayMessageRemoveDataSink(PVMFNodeInterface & aDataSink,OsclAny * aContextData)138 PV2WayMessageRemoveDataSink(PVMFNodeInterface& aDataSink, OsclAny* aContextData) 139 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_REMOVE_DATA_SINK, aContextData) 140 , iDataSink(aDataSink) 141 { 142 } 143 144 PVMFNodeInterface& iDataSink; 145 }; 146 147 class PV2WayMessageConnect : public CPVCmnInterfaceCmdMessage 148 { 149 public: PV2WayMessageConnect(const PV2WayConnectOptions & aOptions,PVMFNodeInterface * aCommServer,OsclAny * aContextData)150 PV2WayMessageConnect(const PV2WayConnectOptions& aOptions, PVMFNodeInterface* aCommServer, OsclAny* aContextData) 151 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_CONNECT, aContextData) 152 , iConnectOptions(aOptions), 153 iCommServer(aCommServer) 154 { 155 } 156 157 const PV2WayConnectOptions& iConnectOptions; 158 PVMFNodeInterface* iCommServer; 159 }; 160 161 162 class PV2WayMessageDisconnect : public CPVCmnInterfaceCmdMessage 163 { 164 public: PV2WayMessageDisconnect(OsclAny * aContextData)165 PV2WayMessageDisconnect(OsclAny* aContextData) 166 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_DISCONNECT, aContextData) 167 { 168 } 169 170 }; 171 172 class PV2WayMessageGetPV2WayState : public CPVCmnInterfaceCmdMessage 173 { 174 public: PV2WayMessageGetPV2WayState(PV2WayState & aState,OsclAny * aContextData)175 PV2WayMessageGetPV2WayState(PV2WayState& aState, OsclAny* aContextData) 176 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_GET_PV2WAY_STATE, aContextData) 177 , iState(aState) 178 { 179 } 180 181 PV2WayState& iState; 182 }; 183 184 185 class PV2WayMessagePause : public CPVCmnInterfaceCmdMessage 186 { 187 public: PV2WayMessagePause(PV2WayDirection aDirection,PVTrackId aTrackId,OsclAny * aContextData)188 PV2WayMessagePause(PV2WayDirection aDirection, PVTrackId aTrackId, OsclAny* aContextData) 189 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_PAUSE, aContextData) 190 , iDirection(aDirection) 191 , iTrackId(aTrackId) 192 { 193 } 194 195 PV2WayDirection iDirection; 196 PVTrackId iTrackId; 197 }; 198 199 200 class PV2WayMessageResume : public CPVCmnInterfaceCmdMessage 201 { 202 public: PV2WayMessageResume(PV2WayDirection aDirection,PVTrackId aTrackId,OsclAny * aContextData)203 PV2WayMessageResume(PV2WayDirection aDirection, PVTrackId aTrackId, OsclAny* aContextData) 204 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_RESUME, aContextData) 205 , iDirection(aDirection) 206 , iTrackId(aTrackId) 207 { 208 } 209 210 PV2WayDirection iDirection; 211 PVTrackId iTrackId; 212 }; 213 214 215 class PV2WayMessageSetLogAppender : public CPVCmnInterfaceCmdMessage 216 { 217 public: PV2WayMessageSetLogAppender(OsclSharedPtr<char> & aTag,OsclSharedPtr<PVLoggerAppender> & aAppender,OsclAny * aContextData)218 PV2WayMessageSetLogAppender(OsclSharedPtr<char> &aTag, OsclSharedPtr<PVLoggerAppender> &aAppender, OsclAny* aContextData) 219 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_SET_LOG_APPENDER, aContextData) 220 , iTag(aTag) 221 , iAppender(aAppender) 222 { 223 } 224 225 OsclSharedPtr<char> iTag; 226 OsclSharedPtr<PVLoggerAppender> iAppender; 227 }; 228 229 230 class PV2WayMessageRemoveLogAppender : public CPVCmnInterfaceCmdMessage 231 { 232 public: PV2WayMessageRemoveLogAppender(OsclSharedPtr<char> & aTag,OsclSharedPtr<PVLoggerAppender> & aAppender,OsclAny * aContextData)233 PV2WayMessageRemoveLogAppender(OsclSharedPtr<char> &aTag, OsclSharedPtr<PVLoggerAppender> &aAppender, OsclAny* aContextData) 234 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_REMOVE_LOG_APPENDER, aContextData) 235 , iTag(aTag) 236 , iAppender(aAppender) 237 { 238 } 239 240 OsclSharedPtr<char> iTag; 241 OsclSharedPtr<PVLoggerAppender> iAppender; 242 }; 243 244 245 class PV2WayMessageSetLogLevel : public CPVCmnInterfaceCmdMessage 246 { 247 public: PV2WayMessageSetLogLevel(OsclSharedPtr<char> & aTag,int32 aLevel,bool aSetSubtree,OsclAny * aContextData)248 PV2WayMessageSetLogLevel(OsclSharedPtr<char> &aTag, int32 aLevel, bool aSetSubtree, OsclAny* aContextData) 249 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_SET_LOG_LEVEL, aContextData) 250 , iTag(aTag) 251 , iSetSubtree(aSetSubtree) 252 , iLevel(aLevel) 253 { 254 } 255 256 OsclSharedPtr<char> iTag; 257 bool iSetSubtree; 258 int32 iLevel; 259 }; 260 261 262 class PV2WayMessageGetLogLevel : public CPVCmnInterfaceCmdMessage 263 { 264 public: PV2WayMessageGetLogLevel(OsclSharedPtr<char> & aTag,int32 & aLogLevel,OsclAny * aContextData)265 PV2WayMessageGetLogLevel(OsclSharedPtr<char> &aTag, int32& aLogLevel, OsclAny* aContextData) 266 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_GET_LOG_LEVEL, aContextData) 267 , iTag(aTag) 268 , iLogLevel(aLogLevel) 269 270 { 271 } 272 273 OsclSharedPtr<char> iTag; 274 int32& iLogLevel; 275 }; 276 277 class PV2WayMessageQueryUUID : public CPVCmnInterfaceCmdMessage 278 { 279 public: PV2WayMessageQueryUUID(const PvmfMimeString & aMimeType,Oscl_Vector<PVUuid,BasicAlloc> & aUuids,bool aExactUuidsOnly,OsclAny * aContextData)280 PV2WayMessageQueryUUID(const PvmfMimeString& aMimeType, Oscl_Vector<PVUuid, BasicAlloc> &aUuids, bool aExactUuidsOnly, OsclAny* aContextData) 281 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_QUERY_UUID, aContextData) 282 , iMimeType(aMimeType) 283 , iUuids(aUuids) 284 , iExactUuidsOnly(aExactUuidsOnly) 285 286 { 287 } 288 289 const PvmfMimeString& iMimeType; 290 Oscl_Vector<PVUuid, BasicAlloc> &iUuids; 291 bool iExactUuidsOnly; 292 }; 293 294 295 class PV2WayMessageQueryInterface : public CPVCmnInterfaceCmdMessage 296 { 297 public: PV2WayMessageQueryInterface(const PVUuid & aUuid,PVInterface * & aInterfacePtr,OsclAny * aContextData)298 PV2WayMessageQueryInterface(const PVUuid& aUuid, PVInterface*& aInterfacePtr, OsclAny* aContextData) 299 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_QUERY_INTERFACE, aContextData) 300 , iUuid(aUuid) 301 , iInterfacePtr(aInterfacePtr) 302 { 303 } 304 305 PVUuid iUuid; 306 PVInterface* &iInterfacePtr; 307 }; 308 309 class PV2WayMessageCancelAllCommands : public CPVCmnInterfaceCmdMessage 310 { 311 public: PV2WayMessageCancelAllCommands(OsclAny * aContextData)312 PV2WayMessageCancelAllCommands(OsclAny* aContextData) 313 : CPVCmnInterfaceCmdMessage(PVT_COMMAND_CANCEL_ALL_COMMANDS, aContextData) 314 { 315 } 316 317 }; 318 319 #endif 320 321 322 323 324