aboutsummaryrefslogtreecommitdiffstats
path: root/xdg-launcher/src/runxdg.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'xdg-launcher/src/runxdg.hpp')
-rw-r--r--xdg-launcher/src/runxdg.hpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/xdg-launcher/src/runxdg.hpp b/xdg-launcher/src/runxdg.hpp
index fa4ca0b..c98b95c 100644
--- a/xdg-launcher/src/runxdg.hpp
+++ b/xdg-launcher/src/runxdg.hpp
@@ -71,10 +71,10 @@ class Launcher
virtual void unregister_surfpid(pid_t surf_pid) = 0;
virtual pid_t find_surfpid_by_rid(pid_t app_pid) = 0;
- virtual int launch(std::string &name) = 0;
+ virtual int launch(std::string& name) = 0;
virtual void loop(volatile sig_atomic_t* e_flag) = 0;
- int m_rid;
+ int m_rid = -1;
};
class POSIXLauncher : public Launcher
@@ -83,11 +83,13 @@ class POSIXLauncher : public Launcher
std::vector<pid_t> m_pid_v;
public:
+ std::vector<std::string> m_args_v;
+
void register_surfpid(pid_t surf_pid);
void unregister_surfpid(pid_t surf_pid);
pid_t find_surfpid_by_rid(pid_t rid);
- int launch(std::string &name);
+ int launch(std::string& name);
void loop(volatile sig_atomic_t* e_flag);
};
@@ -105,7 +107,7 @@ class AFMLauncher : public Launcher
class AFMDBusLauncher : public AFMLauncher
{
public:
- int launch(std::string &name);
+ int launch(std::string& name);
void loop(volatile sig_atomic_t* e_flag) {
while (!(*e_flag)) { sleep(60*60*24); } }
@@ -121,7 +123,7 @@ class AFMWebSocketLauncher : public AFMLauncher
{
// not implemented yet
public:
- int launch(std::string &name) { return 0; }
+ int launch(std::string& name) { return 0; }
void loop(volatile sig_atomic_t* e_flag) {
while (!(*e_flag)) { sleep(60*60*24); } }
};
@@ -129,7 +131,7 @@ class AFMWebSocketLauncher : public AFMLauncher
class RunXDG
{
public:
- RunXDG(enum launcher_t type, int port, const char* &token);
+ RunXDG(enum launcher_t type, int port, const char* token, const char* id);
void start(void);
void notify_ivi_control_cb(ilmObjectType object, t_ilm_uint id,
@@ -140,6 +142,10 @@ class RunXDG
void *user_data);
private:
std::string m_name;
+ std::string m_path;
+
+ std::string m_id;
+
int m_port;
std::string m_token;
@@ -156,6 +162,8 @@ class RunXDG
int init_wm(void);
int init_hs(void);
+ int parse_config(const char *file);
+
void setup_surface(int id);
};