1 //******************************************************************
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 #include "NSProviderResource.h"
23 NSNotificationResource NotificationResource;
24 NSMessageResource NotificationMessageResource;
25 NSSyncResource NotificationSyncResource;
27 NSResult NSCreateResource(char *uri)
29 NS_LOG(DEBUG, "NSCreateResource - IN");
32 NS_LOG(NS_ERROR, "Resource URI cannot be NULL");
36 if (strcmp(uri, NS_ROOT_URI) == 0)
38 NotificationResource.accepter = 0;
39 NotificationResource.message_uri = NS_COLLECTION_MESSAGE_URI;
40 NotificationResource.sync_uri = NS_COLLECTION_SYNC_URI;
41 NotificationResource.handle = NULL;
43 if (OCCreateResource(&NotificationResource.handle, NS_ROOT_TYPE, NS_DEFAULT_INTERFACE,
44 NS_ROOT_URI, NSEntityHandlerNotificationCb, NULL, OC_DISCOVERABLE) != OC_STACK_OK)
46 NS_LOG(NS_ERROR, "Fail to Create Notification Resource");
50 else if (strcmp(uri, NS_COLLECTION_MESSAGE_URI) == 0)
53 NotificationMessageResource.messageId = 0;
55 (NotificationMessageResource.providerId)[0] = '\0';
56 NotificationMessageResource.type = 0;
57 NotificationMessageResource.dateTime = NULL;
58 NotificationMessageResource.ttl = 0;
59 NotificationMessageResource.title = NULL;
60 NotificationMessageResource.contentText = NULL;
61 NotificationMessageResource.sourceName = NULL;
62 NotificationMessageResource.mediaContents = NULL;
64 if (OCCreateResource(&NotificationMessageResource.handle, NS_COLLECTION_MESSAGE_TYPE,
65 NS_DEFAULT_INTERFACE, NS_COLLECTION_MESSAGE_URI, NSEntityHandlerMessageCb, NULL,
66 OC_OBSERVABLE) != OC_STACK_OK)
68 NS_LOG(NS_ERROR, "Fail to Create Notification Message Resource");
72 else if (strcmp(uri, NS_COLLECTION_SYNC_URI) == 0)
74 NotificationSyncResource.id = NULL;
75 NotificationSyncResource.state = NULL;
76 NotificationSyncResource.handle = NULL;
78 if (OCCreateResource(&(NotificationSyncResource.handle), NS_COLLECTION_SYNC_TYPE,
79 NS_DEFAULT_INTERFACE, NS_COLLECTION_SYNC_URI, NSEntityHandlerSyncCb, NULL,
80 OC_OBSERVABLE) != OC_STACK_OK)
82 NS_LOG(NS_ERROR, "Fail to Create Notification Sync Resource");
88 NS_LOG(ERROR, "Fail to create resource with invalid URI");
92 NS_LOG(DEBUG, "NSCreateResource - OUT");
96 NSResult NSRegisterResource()
98 NS_LOG(DEBUG, "NSRegisterResource - IN");
100 if (NSCreateResource(NS_COLLECTION_SYNC_URI) != NS_OK)
102 NS_LOG(ERROR, "Fail to register Sync Resource");
106 if (NSCreateResource(NS_COLLECTION_MESSAGE_URI) != NS_OK)
108 NS_LOG(ERROR, "Fail to register Message Resource");
112 if (NSCreateResource(NS_ROOT_URI) != NS_OK)
114 NS_LOG(ERROR, "Fail to register Notification Resource");
118 NS_LOG(DEBUG, "NSRegisterResource - OUT");
122 NSResult NSUnRegisterResource()
124 NS_LOG(DEBUG, "NSUnRegisterResource - IN");
126 if (OCDeleteResource(NotificationResource.handle) != OC_STACK_OK)
128 NS_LOG(ERROR, "Fail to Delete Notification Resource");
132 if (OCDeleteResource(NotificationMessageResource.handle) != OC_STACK_OK)
134 NS_LOG(ERROR, "Fail to Delete Notification Message Resource");
138 if (OCDeleteResource(NotificationSyncResource.handle) != OC_STACK_OK)
140 NS_LOG(ERROR, "Fail to Delete Notification Sync Resource");
144 NS_LOG(DEBUG, "NSUnRegisterResource - OUT");
148 NSResult NSPutNotificationResource(int accepter, OCResourceHandle * handle)
150 NS_LOG(DEBUG, "NSPutNotificationResource - IN");
152 NotificationResource.accepter = accepter;
153 NotificationResource.message_uri = NS_COLLECTION_MESSAGE_URI;
154 NotificationResource.sync_uri = NS_COLLECTION_SYNC_URI;
156 *handle = NotificationResource.handle;
158 NS_LOG(DEBUG, "NSPutNotificationResource - OUT");
162 NSResult NSPutMessageResource(NSMessage *msg, OCResourceHandle * handle)
164 NS_LOG(DEBUG, "NSPutMessageResource - IN");
168 NS_LOG(DEBUG, "NSMessage is valid");
170 NotificationMessageResource.messageId = msg->messageId;
171 OICStrcpy(NotificationMessageResource.providerId, UUID_STRING_SIZE, msg->providerId);
172 NotificationMessageResource.type = msg->type;
173 NotificationMessageResource.dateTime = msg->dateTime;
174 NotificationMessageResource.ttl = msg->ttl;
175 NotificationMessageResource.title = msg->title;
176 NotificationMessageResource.contentText = msg->contentText;
177 NotificationMessageResource.sourceName = msg->sourceName;
178 NotificationMessageResource.mediaContents = msg->mediaContents;
182 NS_LOG(ERROR, "NSMessage is NULL");
185 *handle = NotificationMessageResource.handle;
186 NS_LOG(DEBUG, "NSPutMessageResource - OUT");
191 NSResult NSPutSyncResource(NSSyncInfo *sync, OCResourceHandle * handle)
193 NS_LOG(DEBUG, "NSPutSyncResource - IN");
197 *handle = NotificationSyncResource.handle;
199 NS_LOG(DEBUG, "NSPutSyncResource - OUT");