// Use of this source code is governed by a apache 2.0 license that can be
// found in the LICENSE file.
-#include "appcontrol_manager.h"
+#include "common/appcontrol_manager.h"
#include <aul.h>
#include <aul_svc.h>
#include "common/utils/logging.h"
namespace capmgr {
- int AppControlManager::LaunchApplication(const Capability& capability) {
- int ret;
- bundle* b = bundle_create();
- aul_svc_set_operation(b, capability.name().c_str());
-
- ret = aul_launch_app(capability.pkgid().c_str(), b);
- if (ret < AUL_R_OK) {
- LOG(ERROR) << "launch failed : " << ret;
- bundle_free(b);
- return ret;
- }
+int AppControlManager::LaunchApplication(const Capability& capability) {
+ int ret;
+ bundle* b = bundle_create();
+ aul_svc_set_operation(b, capability.name().c_str());
+ ret = aul_launch_app(capability.pkgid().c_str(), b);
+ if (ret < AUL_R_OK) {
+ LOG(ERROR) << "launch failed : " << ret;
bundle_free(b);
- return 0;
+ return ret;
}
+
+ bundle_free(b);
+ return 0;
+}
+
} // namespace capmgr
#include <pkgmgr-info.h>
#include <iostream>
+#include <utility>
#include "common/capability.h"
#include "common/dbus_service.h"
void CapabilityManager::GetList(GVariant **params) {
GVariantBuilder* builder;
- builder = g_variant_builder_new (G_VARIANT_TYPE ("a(sss)"));
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a(sss)"));
for (const auto& cap : list_) {
- g_variant_builder_add (builder, "(sss)",
+ g_variant_builder_add(builder, "(sss)",
cap.name().c_str(),
cap.pkgid().c_str(),
cap.appid().c_str());
}
- *params = g_variant_new ("a(sss)", builder);
- g_variant_builder_unref (builder);
+ *params = g_variant_new("a(sss)", builder);
+ g_variant_builder_unref(builder);
}
bool CapabilityManager::AddCapability(const Capability& capability) {
virtual void RegisterEndpoint() = 0;
virtual void ExchangeCapabilities() = 0;
virtual bool SendCapability(
- Capability* cap,
- std::function<void(Capability, int)> reply) = 0;
+ Capability* cap, std::function<void(Capability, int)> reply) = 0;
protected:
CapabilityManager* capmgr_;
}
void DBusService::RegisterSendAppcontrolHandler(const std::string& method,
- std::function<bool(Capability*, std::function<void(Capability, int)>)> handler) {
+ std::function<bool(Capability*, AppControlHandler)> handler) {
if (method == "SendRemoteAppControl")
EventHandler().send_app_control_event.connect(handler);
}
EventHandler().send_app_control_event(&cap,
[=](Capability cap, int ret) {
- LOG(INFO) << "RET: " << ret;
-
- LOG(INFO) << "Success launch: " << cap.name();
-
- g_dbus_method_invocation_return_value(invocation, g_variant_new("(b)", ret));
+ LOG(INFO) << "RET: " << ret;
+ LOG(INFO) << "Success launch: " << cap.name();
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(b)", ret));
});
return true;
}
LOG(INFO) << "Incomming method call: " << method_name;
if (g_strcmp0("DiscoverUnownedDevices", method_name) == 0) {
r = HandleDiscoverUnownedDevices(parameters, invocation);
- }
- else if (g_strcmp0("ExchangeCapabilities", method_name) == 0) {
+ } else if (g_strcmp0("ExchangeCapabilities", method_name) == 0) {
r = HandleExchangeCapabilities(parameters, invocation);
- }
- else if (g_strcmp0("GetRemoteCapabilities", method_name) == 0) {
+ } else if (g_strcmp0("GetRemoteCapabilities", method_name) == 0) {
HandleGetRemoteCapabilities(parameters, invocation);
return;
- }
- else if (g_strcmp0("SendRemoteAppControl", method_name) == 0) {
+ } else if (g_strcmp0("SendRemoteAppControl", method_name) == 0) {
LOG(INFO) << " method call: " << method_name;
HandleSendRemoteAppControl(parameters, invocation);
return;
#include <boost/signals2.hpp>
+#include <string>
+
namespace capmgr {
class Capability;
class DBusService {
+ typedef std::function<void(Capability, int)> AppControlHandler;
+
public:
DBusService();
~DBusService();
static void RegisterMethodHandler(const std::string& method,
std::function<void()> handler);
static void RegisterSendAppcontrolHandler(const std::string& method,
- std::function<bool(Capability*, std::function<void(Capability, int)>)> handler);
+ std::function<bool(Capability*, AppControlHandler)> handler);
static void RegisterGetRemoteCapsHandler(const std::string& method,
std::function<void(GVariant**)> handler);
public:
boost::signals2::signal<void()> on_event;
boost::signals2::signal<void()> on_event2;
- boost::signals2::signal<bool(Capability*, std::function<void(Capability, int)>)> send_app_control_event;
+ boost::signals2::signal<bool(Capability*, AppControlHandler)>
+ send_app_control_event;
boost::signals2::signal<void(GVariant**)> get_remote_caps_event;
};
#include <functional>
#include <iostream>
#include <string>
+#include <vector>
#include "common/capability.h"
#include "common/capability_manager.h"
const int kDiscoverTimeoutSec = 5;
const int kUUIDLength = UUID_LENGTH;
const char kResourceTypeName[] = "capmgr.capabilities";
-const std::string kResourceInterface = OC::DEFAULT_INTERFACE;
FILE* ServerFopen(const char* /* unused */, const char* mode) {
return fopen(SVR_DB_PATH, mode);
GetResource(it.second);
}
-bool Iotivity::SendCapability(Capability* cap, std::function<void(Capability, int)> reply) {
+bool Iotivity::SendCapability(Capability* cap,
+ std::function<void(Capability, int)> reply) {
PutResource(cap, reply);
return 0;
}
-void Iotivity::PutResource(Capability* cap, std::function<void(Capability, int)> putCallback) {
- LOG(INFO) << "Put Resource";
- for (std::map<OC::OCResourceIdentifier, std::shared_ptr<OC::OCResource>>::iterator it=resource_list_.begin(); it!=resource_list_.end(); ++it) {
+void Iotivity::PutResource(Capability* cap,
+ std::function<void(Capability, int)> putCallback) {
+ LOG(INFO) << "Put Resource";
+ for (const auto& it : resource_list_) {
std::shared_ptr<OC::OCResource> resource;
- resource = it->second;
+ resource = it.second;
OC::OCRepresentation rep;
LOG(INFO) << "Putting.." << resource->uri();
OC::QueryParamsMap queryParamsMap;
OCStackResult res = resource->put(rep, queryParamsMap,
[=](const OC::HeaderOptions& opts, const OC::OCRepresentation& rep,
- const int ec) {
- LOG(INFO) << "From: " << rep.getUri() << " of " << rep.getHost();
- LOG(INFO) << "PUT RESULT data: " << ec;
-
- putCallback(dup, ec);
+ const int ec) {
+ LOG(INFO) << "From: " << rep.getUri() << " of " << rep.getHost();
+ LOG(INFO) << "PUT RESULT data: " << ec;
+ putCallback(dup, ec);
});
LOG(INFO) << "res: " << res;
uint8_t property = OC_DISCOVERABLE | OC_OBSERVABLE | OC_SECURE;
OCStackResult result = OC::OCPlatform::registerResource(resource_,
- uri, kResourceTypeName, kResourceInterface,
+ uri, kResourceTypeName, OC::DEFAULT_INTERFACE,
std::bind(&Iotivity::EntityCb, this, std::placeholders::_1),
property);
if (result != OC_STACK_OK)
#include <map>
#include <memory>
+#include <string>
#include "common/connection_manager.h"
void FindDevices() override;
void RegisterEndpoint() override;
void ExchangeCapabilities() override;
- bool SendCapability(Capability* cap, std::function<void(Capability, int)> reply) override;
+ bool SendCapability(
+ Capability* cap, std::function<void(Capability, int)> reply) override;
private:
void RegisterResource();
void FindResource(const std::string& addr);
- void PutResource(Capability* cap, std::function<void(Capability, int)> putCallback);
+ void PutResource(
+ Capability* cap, std::function<void(Capability, int)> putCallback);
void DiscoverUnownedDevices();
void OwnershipTransfer();
void GetResource(std::shared_ptr<OC::OCResource> resource);
#include "common/package_event_listener.h"
-#include <boost/signals2.hpp>
-
#include <package-manager.h>
+#include <boost/signals2.hpp>
+
#include <cstring>
#include <functional>
#include <map>
#include <sqlite3.h>
#include <string>
+#include <utility>
#include "common/sqlite_statement.h"
#include "common/utils/logging.h"