1/* 2 * Copyright (C) 2014 The Android Open Source Project 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 express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/*============================================================================ 18 19 Header Name: dmtAsyncData.h 20 21 General Description: This file contains declaration of structures for 22 async APIs 23 24==============================================================================*/ 25 26#ifndef DMT_ASYNC_STRUCT_H 27#define DMT_ASYNC_STRUCT_H 28 29/************** HEADER FILE INCLUDES *****************************************/ 30 31#include "dmtAsyncAPI.h" 32#include "dmbuffer.h" 33#include "dmMemory.h" 34#include "dmt.hpp" 35 36 37/************** STRUCTURES, ENUMS, AND TYPEDEFS ******************************/ 38 39class DMAsyncMessage 40{ 41 42public: 43 44 UINT32 messageID; 45 UINT32 pUserData; 46 47 DMAsyncMessage() 48 { 49 messageID = 0; 50 pUserData = 0; 51 52 } 53 54 inline void* operator new(size_t sz) 55 { 56 return (DmAllocMem(sz)); 57 } 58 59 inline void operator delete(void* buf) 60 { 61 DmFreeMem(buf); 62 } 63 64 65 SYNCML_DM_RET_STATUS_T set(UINT32 messageID, UINT32 pUserData) 66 { 67 this->messageID = messageID; 68 this->pUserData = pUserData; 69 return SYNCML_DM_SUCCESS; 70 } 71 72}; 73 74 75 76 77class DMPrincipalMessage : public DMAsyncMessage 78{ 79 80public: 81 82 DmtPrincipal principal; 83 84 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 85 UINT32 messageID, 86 UINT32 pUserData); 87}; 88 89 90class DMGetSubTreeMessage : public DMPrincipalMessage 91{ 92 93public: 94 95 96 DMString subtreeRoot; 97 SYNCML_DM_TREE_LOCK_TYPE_T nLockType; 98 DMT_CallbackGetTree callback; 99 100 101 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 102 CPCHAR subtreeRoot, 103 SYNCML_DM_TREE_LOCK_TYPE_T nLockType, 104 DMT_CallbackGetTree callback, 105 UINT32 messageID, 106 UINT32 pUserData); 107 108}; 109 110 111 112class DMScriptMessage : public DMPrincipalMessage 113{ 114 115public: 116 DMBuffer buf; 117 BOOLEAN isWBXML; 118 119 120 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 121 const UINT8 * buf, 122 INT32 len, 123 BOOLEAN isWBXML, 124 UINT32 messageID, 125 UINT32 pUserData); 126 127}; 128 129 130class DMProcessScriptMessage : public DMScriptMessage 131{ 132 133public: 134 DMT_CallbackProcessScript callback; 135 136 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 137 const UINT8 * buf, 138 INT32 len, 139 BOOLEAN isWBXML, 140 DMT_CallbackProcessScript callback, 141 UINT32 messageID, 142 UINT32 pUserData); 143 144}; 145 146class DMBootstrapMessage : public DMScriptMessage 147{ 148public: 149 DMT_CallbackBootstrap callback; 150 BOOLEAN isProcess; 151 152 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 153 const UINT8 * buf, 154 INT32 len, 155 BOOLEAN isWBXML, 156 BOOLEAN isProcess, 157 DMT_CallbackBootstrap callback, 158 UINT32 messageID, 159 UINT32 pUserData); 160 161}; 162 163 164class DMStartServerSessionMessage : public DMPrincipalMessage 165{ 166public: 167 DmtSessionProp sessionProp; 168 DMT_CallbackStatusCode callback; 169 170 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 171 const DMT_SESSION_PROP_T * pSessionProp, 172 DMT_CallbackStatusCode callback, 173 UINT32 messageID, 174 UINT32 pUserData); 175 176}; 177 178class DMProcessNotificationMessage : public DMPrincipalMessage 179{ 180public: 181 DMBuffer buf; 182 DMT_CallbackProcessNotification callback; 183 184 SYNCML_DM_RET_STATUS_T set(CPCHAR szPrincipal, 185 const UINT8 * buf, 186 INT32 len, 187 DMT_CallbackProcessNotification callback, 188 UINT32 messageID, 189 UINT32 pUserData); 190 191}; 192 193 194class DMTreeMessage : public DMAsyncMessage 195{ 196public: 197 DMT_H_TREE htree; 198 DMString path; 199 200 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 201 CPCHAR path, 202 UINT32 messageID, 203 UINT32 pUserData); 204 205}; 206 207 208class DMGetNodeMessage : public DMTreeMessage 209{ 210public: 211 DMT_CallbackGetNode callback; 212 213 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 214 CPCHAR path, 215 DMT_CallbackGetNode callback, 216 UINT32 messageID, 217 UINT32 pUserData); 218 219}; 220 221 222class DMTreeNodeMessage : public DMTreeMessage 223{ 224public: 225 DMT_CallbackStatusCode callback; 226 DMString str; 227 228 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 229 CPCHAR path, 230 CPCHAR str, 231 DMT_CallbackStatusCode callback, 232 UINT32 messageID, 233 UINT32 pUserData); 234 235}; 236 237 238 239class DMCreateLeafNodeMessage : public DMTreeMessage 240{ 241public: 242 DmtData data; 243 DMT_CallbackStatusCode callback; 244 245 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 246 CPCHAR path, 247 const DMT_DATA_T* data, 248 DMT_CallbackStatusCode callback, 249 UINT32 messageID, 250 UINT32 pUserData); 251 252}; 253 254 255class DMGetChildNodeNamesMessage : public DMTreeMessage 256{ 257public: 258 DMT_CallbackGetChildNodeNames callback; 259 260 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 261 CPCHAR path, 262 DMT_CallbackGetChildNodeNames callback, 263 UINT32 messageID, 264 UINT32 pUserData); 265 266 267}; 268 269class DMGetChildValuesMapMessage : public DMTreeMessage 270{ 271public: 272 DMT_CallbackGetChildValuesMap callback; 273 274 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 275 CPCHAR path, 276 DMT_CallbackGetChildValuesMap callback, 277 UINT32 messageID, 278 UINT32 pUserData); 279 280}; 281 282 283class DMSetChildValuesMapMessage : public DMTreeMessage 284{ 285public: 286 DMMap<DMString, DmtData> data; 287 DMT_CallbackStatusCode callback; 288 289 SYNCML_DM_RET_STATUS_T set(DMT_H_TREE htree, 290 CPCHAR path, 291 const DMT_LEAF_CHILDREN_DATA_T* data, 292 DMT_CallbackStatusCode callback, 293 UINT32 messageID, 294 UINT32 pUserData); 295 296}; 297 298 299class DMSetValueMessage : public DMAsyncMessage 300{ 301public: 302 DMT_H_NODE hnode; 303 DmtData data; 304 DMT_CallbackStatusCode callback; 305 306 SYNCML_DM_RET_STATUS_T set(DMT_H_NODE hnode, 307 const DMT_DATA_T* data, 308 DMT_CallbackStatusCode callback, 309 UINT32 messageID, 310 UINT32 pUserData); 311 312}; 313 314 315class DMNodeMessage : public DMAsyncMessage 316{ 317public: 318 DMString str; 319 DMT_H_NODE hnode; 320 DMT_CallbackStatusCode callback; 321 322 SYNCML_DM_RET_STATUS_T set(DMT_H_NODE hnode, 323 CPCHAR str, 324 DMT_CallbackStatusCode callback, 325 UINT32 messageID, 326 UINT32 pUserData); 327 328}; 329 330 331class DMExecuteMessage : public DMNodeMessage 332{ 333public: 334 DMString params; 335 DMT_CallbackExecute callback; 336 337 SYNCML_DM_RET_STATUS_T set(DMT_H_NODE hnode, 338 CPCHAR params, 339 DMT_CallbackExecute callback, 340 UINT32 messageID, 341 UINT32 pUserData); 342 343}; 344 345#endif 346