DBusMonitor::DBusMonitor(std::string name,
std::string bus_name,
- IEventListener* listener)
+ IActivationEventListener* listener)
: name_(std::move(name)),
bus_name_(std::move(bus_name)),
listener_(listener) {
_I("name appeared : %s", name);
auto* self = static_cast<DBusMonitor*>(user_data);
if (self->bus_name_ == name) {
- self->listener_->OnEvent(self->name_);
+ self->listener_->OnActivationEvent(self->name_);
}
}
class DBusMonitor {
public:
- DBusMonitor(std::string name, std::string bus_name, IEventListener* listener);
+ DBusMonitor(std::string name, std::string bus_name, IActivationEventListener* listener);
~DBusMonitor();
static void BusAcquiredCb(GDBusConnection* connection,
std::string name_;
std::string bus_name_;
gint own_id_ = 0;
- IEventListener* listener_;
+ IActivationEventListener* listener_;
};
}; // namespace tizen_base
#include "../log_private.hh"
namespace tizen_base {
-FdMonitor::FdMonitor(std::string name, int fd, IEventListener* listener)
+FdMonitor::FdMonitor(std::string name, int fd, IActivationEventListener* listener)
: name_(std::move(name)), listener_(listener) {}
FdMonitor::FdMonitor(std::string name,
std::string path,
- IEventListener* listener)
+ IActivationEventListener* listener)
: name_(std::move(name)), listener_(listener) {
int n = sd_listen_fds(0);
if (n < 0) {
}
_I("Receive event from fd(%d) name(%s)", fd, self->name_.c_str());
- self->listener_->OnEvent(self->name_);
+ self->listener_->OnActivationEvent(self->name_);
self->unix_fd_source_id_ = 0;
return G_SOURCE_REMOVE;
}
class FdMonitor {
public:
- FdMonitor(std::string, int fd, IEventListener* listener);
- FdMonitor(std::string name, std::string path, IEventListener* listener);
+ FdMonitor(std::string, int fd, IActivationEventListener* listener);
+ FdMonitor(std::string name, std::string path, IActivationEventListener* listener);
~FdMonitor();
static gboolean UnixFdSourceFunc(gint fd, GIOCondition cond, gpointer data);
private:
guint unix_fd_source_id_ = 0;
std::string name_;
- IEventListener* listener_ = nullptr;
+ IActivationEventListener* listener_ = nullptr;
};
};
if (str == "deleted")
return PathInfo::Mode::Deleted;
- std::runtime_error("Invalid path activation mode: " + str);
+ throw std::runtime_error("Invalid path activation mode: " + str);
}
} // namespace
PathMonitor::PathMonitor(std::string name,
std::string path,
PathInfo::Mode mode,
- IEventListener* listener)
+ IActivationEventListener* listener)
: name_(std::move(name)), mode_(mode), listener_(listener) {
fs::path full_path = fs::path(path);
std::error_code error;
- listener_ = listener;
dir_path_ = full_path.parent_path();
target_name_ = full_path.filename().string();
dir_ = g_file_new_for_path(dir_path_.c_str());
g_signal_connect(monitor_, "changed", G_CALLBACK(OnFileChanged), this);
if (mode_ == PathInfo::Mode::Created && fs::exists(full_path, error)) {
- if (monitor_)
+ if (monitor_) {
g_object_unref(monitor_);
+ monitor_ = nullptr;
+ }
- if (dir_)
+ if (dir_) {
g_object_unref(dir_);
+ dir_ = nullptr;
+ }
NotifyEvent();
}
gchar* basename = g_file_get_basename(file);
GFileMonitorEvent target_event = ConvertType(self->mode_);
- _W("[%s] %d", basename, event_type);
if (event_type == target_event && strcmp(basename, file_name.c_str()) == 0) {
self->NotifyEvent();
return G_SOURCE_REMOVE;
+[](gpointer data) -> gboolean {
auto* self = static_cast<PathMonitor*>(data);
if (self->listener_)
- self->listener_->OnEvent(self->name_);
+ self->listener_->OnActivationEvent(self->name_);
return G_SOURCE_REMOVE;
},
this);
PathMonitor(std::string name,
std::string path,
PathInfo::Mode mode,
- IEventListener* listener);
+ IActivationEventListener* listener);
~PathMonitor();
fs::path dir_path_;
std::string target_name_;
PathInfo::Mode mode_;
- IEventListener* listener_;
+ IActivationEventListener* listener_;
};
}; // namespace tizen_base
namespace tizen_base {
-SocketInfo::SocketInfo(std::string path, int mode)
- : path_(std::move(path)), mode_(mode) {}
+SocketInfo::SocketInfo(std::string path)
+ : path_(std::move(path)) {}
const std::string& SocketInfo::GetPath() const {
return path_;
}
-int SocketInfo::GetMode() const {
- return mode_;
-}
-
} // namespace tizen_base
class SocketInfo {
public:
- SocketInfo(std::string path, int mode);
+ SocketInfo(std::string path);
const std::string& GetPath() const;
- int GetMode() const;
private:
std::string path_;
- int mode_;
};
} // namespace tizen_base
namespace tizen_base {
-class IEventListener {
+class IActivationEventListener {
public:
- virtual void OnEvent(const std::string& name) = 0;
+ virtual void OnActivationEvent(const std::string& name) = 0;
};
} // namespace tizen_base
return monitoring_;
}
-void Service::StartMonitoring(IEventListener* listener) {
+void Service::StartMonitoring(IActivationEventListener* listener) {
if (monitoring_) {
_W("Already monitoring");
return;
void SetStateChangedCb(StateChangedCb cb);
bool IsMonitoring() const;
- void StartMonitoring(IEventListener* listener);
+ void StartMonitoring(IActivationEventListener* listener);
void StopMonitoring();
private:
"No socket activation method defined in configuration file: " +
conf_name_);
- socket_info_ = std::make_shared<SocketInfo>(std::move(socket), 0);
+ socket_info_ = std::make_shared<SocketInfo>(std::move(socket));
} else if (type_ == "path") {
std::string path = dictionary->Get(kPathActivation);
if (path.empty())
void ServiceLoader::OnServiceStateChanged(const Service* service,
Service::State state) {}
-void ServiceLoader::OnEvent(const std::string& name) {
+void ServiceLoader::OnActivationEvent(const std::string& name) {
auto it = services_.find(name);
if (it != services_.end()) {
namespace tizen_base {
-class ServiceLoader : public IEventListener {
+class ServiceLoader : public IActivationEventListener {
public:
ServiceLoader(int argc, char** argv, std::string name);
~ServiceLoader();
virtual void OnServiceStateChanged(const Service* service,
Service::State state);
- void OnEvent(const std::string& name) override;
+ void OnActivationEvent(const std::string& name) override;
private:
std::shared_ptr<Service> GetService(const std::string& name);