#ifndef _CONTEXT_CONTEXT_PROVIDER_H_
#define _CONTEXT_CONTEXT_PROVIDER_H_
+#include <vector>
#include <Types.h>
#include <Json.h>
virtual int read(Json option, Json *requestResult);
virtual int write(Json data, Json *requestResult);
- /* TODO: Most of these functions will be removed later */
- bool registerProvider(const char *privilege, ContextProvider *provider);
- bool unregisterProvider();
- bool registerTriggerItem(int operation, Json attributes, Json options, const char* owner = NULL);
- bool unregisterTriggerItem();
+ virtual int getPrivilege(std::vector<const char*> &privilege);
+
bool publish(Json option, int error, Json dataUpdated);
bool replyToRead(Json option, int error, Json dataRead);
class SO_EXPORT IContextManager {
public:
virtual ~IContextManager();
- virtual bool registerProvider(const char *subject, const char *privilege, ContextProvider *provider) = 0;
- virtual bool unregisterProvider(const char *subject) = 0;
- virtual bool registerTriggerItem(const char *subject, int operation, Json attributes, Json options, const char *owner) = 0;
- virtual bool unregisterTriggerItem(const char *subject) = 0;
+
virtual bool publish(const char *subject, Json &option, int error, Json &dataUpdated) = 0;
virtual bool replyToRead(const char *subject, Json &option, int error, Json &dataRead) = 0;
}; /* class IContextManager */
return ERR_NOT_SUPPORTED;
}
-bool ContextProvider::registerProvider(const char *privilege, ContextProvider *provider)
+int ContextProvider::getPrivilege(std::vector<const char*> &privilege)
{
- return __contextMgr->registerProvider(__subject, privilege, provider);
-}
-
-bool ContextProvider::unregisterProvider()
-{
- return __contextMgr->unregisterProvider(__subject);
-}
-
-bool ContextProvider::registerTriggerItem(int operation, Json attributes, Json options, const char *owner)
-{
- return __contextMgr->registerTriggerItem(__subject, operation, attributes, options, owner);
-}
-
-bool ContextProvider::unregisterTriggerItem()
-{
- return __contextMgr->unregisterTriggerItem(__subject);
+ privilege.clear();
+ return 0;
}
bool ContextProvider::publish(Json option, int error, Json dataUpdated)