summaryrefslogtreecommitdiff
path: root/run.c
diff options
context:
space:
mode:
Diffstat (limited to 'run.c')
-rw-r--r--run.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/run.c b/run.c
index a7a698c..f1a5d65 100644
--- a/run.c
+++ b/run.c
@@ -11,6 +11,16 @@ cRun::~cRun()
if (myResourceDirectory) free(myResourceDirectory);
}
+const char *cRun::OrginToString(eOrgin Orgin)
+{
+ const char *OrginStr = "";
+ if (Orgin == oStartUp) OrginStr = "startup";
+ else if (Orgin == oShutDown) OrginStr = "shutdown";
+ else if (Orgin == oRunning) OrginStr = "running";
+
+ return OrginStr;
+}
+
void cRun::SetConfigDirectory(const char *Directory)
{
myConfigDirectory = strdup(Directory);
@@ -28,38 +38,30 @@ void cRun::SetResourceDirectory(const char *Directory)
void cRun::Call(eOrgin Orgin, bool Active)
{
- char *OrginStr = NULL;
- if (Orgin == oStartUp) OrginStr = strdup("startup");
- else if (Orgin == oShutDown) OrginStr = strdup("shutdown");
- else if (Orgin == oRunning) OrginStr = strdup("running");
-
- char *ActivityStatusStr = NULL;
+ const char *ActivityStatusStr = "";
if (Active)
- ActivityStatusStr = strdup("true");
+ ActivityStatusStr = "true";
else
- ActivityStatusStr = strdup("false");
+ ActivityStatusStr = "false";
char *buffer;
- asprintf(&buffer, UACTIVITY_COMMAND, "activity", OrginStr, ActivityStatusStr, myConfigDirectory, myCacheDirectory, myResourceDirectory);
+ asprintf(&buffer, UACTIVITY_COMMAND, "activity", OrginToString(Orgin), ActivityStatusStr, myConfigDirectory, myCacheDirectory, myResourceDirectory);
SystemExec(buffer, true);
free(buffer);
-
- if (ActivityStatusStr) free(ActivityStatusStr);
- if (OrginStr) free(OrginStr);
}
-void cRun::Call(eKeys Key)
+void cRun::Call(eOrgin Orgin, eKeys Key)
{
char *buffer;
- asprintf(&buffer, UACTIVITY_COMMAND, "key", "none", myKey.ToString(Key), myConfigDirectory, myCacheDirectory, myResourceDirectory);
+ asprintf(&buffer, UACTIVITY_COMMAND, "key", OrginToString(Orgin), myKey.ToString(Key), myConfigDirectory, myCacheDirectory, myResourceDirectory);
SystemExec(buffer, true);
free(buffer);
}
-void cRun::Call()
+void cRun::Call(eOrgin Orgin)
{
char *buffer;
- asprintf(&buffer, UACTIVITY_COMMAND, "watchdog", "none", "none", myConfigDirectory, myCacheDirectory, myResourceDirectory);
+ asprintf(&buffer, UACTIVITY_COMMAND, "watchdog", OrginToString(Orgin), "none", myConfigDirectory, myCacheDirectory, myResourceDirectory);
SystemExec(buffer, true);
free(buffer);
}