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#ifndef DM_UA_HANDLECOMMAND_H
18#define DM_UA_HANDLECOMMAND_H
19
20/*==================================================================================================
21
22    Header Name: dm_ua_handlecommand.h
23
24    General Description: This contains declaration of C functions corresponding to
25                         SYNCML_DM_HandleCommand class.
26
27==================================================================================================*/
28
29extern "C" {
30#include "sml.h"
31}
32
33#include "syncml_dm_data_types.h"
34#include "dmSessionDefs.h"
35#include "dm_tree_typedef.h"
36
37/*==================================================================================================
38  Function declarations
39  These functions are declared for Callback Functions to be implemented by the Receiver.
40  Callback Functions are declared in the SyncML toolkit "syncml_toolkit/sml/ghdr/sml.h".
41==================================================================================================*/
42extern Ret_t HandleStartMessage(InstanceID_t    id,
43                                VoidPtr_t       userData,
44                                SmlSyncHdrPtr_t pContent);
45
46extern Ret_t HandleEndMessage(InstanceID_t id,
47                              VoidPtr_t    userData,
48                              Boolean_t    final);
49
50extern Ret_t HandleAddCommand(InstanceID_t id,
51                              VoidPtr_t    userData,
52                              SmlAddPtr_t  pContent);
53
54extern Ret_t HandleAlertCommand(InstanceID_t   id,
55                                VoidPtr_t      userData,
56                                SmlAlertPtr_t pContent);
57
58extern Ret_t HandleDeleteCommand(InstanceID_t   id,
59                                 VoidPtr_t      userData,
60                                 SmlDeletePtr_t pContent);
61
62extern Ret_t HandleCopyCommand(InstanceID_t id,
63                               VoidPtr_t    userData,
64                               SmlCopyPtr_t param);
65
66extern Ret_t HandleGetCommand(InstanceID_t id,
67                              VoidPtr_t    userData,
68                              SmlGetPtr_t  pContent);
69
70extern Ret_t HandleExecCommand(InstanceID_t id,
71                               VoidPtr_t    userData,
72                               SmlExecPtr_t  pContent);
73
74extern Ret_t HandleReplaceCommand(InstanceID_t id,
75                                  VoidPtr_t    userData,
76                                  SmlReplacePtr_t  pContent);
77
78extern Ret_t HandleStartSequenceCommand(InstanceID_t id,
79                                        VoidPtr_t    userData,
80                                        SmlSequencePtr_t  pContent);
81
82extern Ret_t HandleEndSequenceCommand(InstanceID_t id,
83                                      VoidPtr_t    userData);
84
85extern Ret_t HandleStartAtomicCommand(InstanceID_t id,
86                                      VoidPtr_t    userData,
87                                      SmlAtomicPtr_t  pContent);
88
89extern Ret_t HandleEndAtomicCommand(InstanceID_t id,
90                                    VoidPtr_t    userData);
91
92extern Ret_t HandleStatusCommand(InstanceID_t id,
93                                 VoidPtr_t    userData,
94                                 SmlStatusPtr_t  pContent);
95
96extern SYNCML_DM_RET_STATUS_T VerifyProtocolVersion( SmlSyncHdrPtr_t pContent);
97
98bool VerifyAlertItems(SmlAlertPtr_t  pContent);
99
100#endif /* DM_UA_HANDLECOMMAND_H */
101