merge wrt-plugins-tizen_0.2.0-2
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Application / ApplicationService.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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 TIZENAPIS_API_APPLICATION_SERVICE_H_
18 #define TIZENAPIS_API_APPLICATION_SERVICE_H_
19
20 #include <string>
21 #include <vector>
22 #include <dpl/log/log.h>
23 #include <dpl/shared_ptr.h>
24 #include <app_service.h>
25 #include "ApplicationServiceData.h"
26
27 namespace TizenApis {
28 namespace Api {
29 namespace Application {
30
31 class ApplicationService;
32 typedef DPL::SharedPtr<ApplicationService> ApplicationServicePtr;
33
34 /* This object represents a single extra data for service request and reply */
35 class ApplicationService
36 {
37   public:
38     ApplicationService();
39         ApplicationService(const std::string &op, const std::string &uri, const std::string &mime, const std::string &appId, std::vector<ApplicationServiceDataPtr> &dataArray) ;
40     ~ApplicationService();
41
42         std::string getOperation() const;
43         void setOperation(const std::string &operation);
44
45         std::string getUri() const;
46         void setUri(const std::string &uri);
47
48         std::string getMime() const;
49         void setMime(const std::string &uri);
50
51         std::string getAppId() const;
52         void setAppId(const std::string &appId);
53
54         std::vector<ApplicationServiceDataPtr> getServiceDataArray() const;
55         void setServiceDataArray(std::vector<ApplicationServiceDataPtr> &dataArray);
56         void addServiceData(const ApplicationServiceDataPtr &data);
57
58         service_h getService_h() const;
59         void setService_h(const service_h service);  
60
61         void replyResult(std::vector<ApplicationServiceDataPtr> &appServiceDataArray);
62         void replyFailure();
63         
64   private:
65         std::string m_operation;
66         std::string m_uri;
67         std::string m_mime;
68         std::string m_appId;
69         std::vector<ApplicationServiceDataPtr> m_serviceDataArray;
70         service_h m_service;
71 };
72 }
73 }
74 }
75 #endif