diff options
Diffstat (limited to 'tools/gator/daemon/SessionXML.cpp')
-rw-r--r-- | tools/gator/daemon/SessionXML.cpp | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/tools/gator/daemon/SessionXML.cpp b/tools/gator/daemon/SessionXML.cpp index 8cdc9409ca21..dea4c8f299ec 100644 --- a/tools/gator/daemon/SessionXML.cpp +++ b/tools/gator/daemon/SessionXML.cpp @@ -16,33 +16,30 @@ #include "OlyUtility.h" #include "SessionData.h" -static const char* TAG_SESSION = "session"; -static const char* TAG_IMAGE = "image"; - -static const char* ATTR_VERSION = "version"; -static const char* ATTR_CALL_STACK_UNWINDING = "call_stack_unwinding"; -static const char* ATTR_BUFFER_MODE = "buffer_mode"; -static const char* ATTR_SAMPLE_RATE = "sample_rate"; -static const char* ATTR_DURATION = "duration"; -static const char* ATTR_PATH = "path"; -static const char* ATTR_LIVE_RATE = "live_rate"; +static const char *TAG_SESSION = "session"; +static const char *TAG_IMAGE = "image"; + +static const char *ATTR_VERSION = "version"; +static const char *ATTR_CALL_STACK_UNWINDING = "call_stack_unwinding"; +static const char *ATTR_BUFFER_MODE = "buffer_mode"; +static const char *ATTR_SAMPLE_RATE = "sample_rate"; +static const char *ATTR_DURATION = "duration"; +static const char *ATTR_PATH = "path"; +static const char *ATTR_LIVE_RATE = "live_rate"; +static const char *ATTR_CAPTURE_WORKING_DIR = "capture_working_dir"; +static const char *ATTR_CAPTURE_COMMAND = "capture_command"; +static const char *ATTR_CAPTURE_USER = "capture_user"; SessionXML::SessionXML(const char *str) { parameters.buffer_mode[0] = 0; parameters.sample_rate[0] = 0; - parameters.duration = 0; parameters.call_stack_unwinding = false; parameters.live_rate = 0; - parameters.images = NULL; - mPath = 0; - mSessionXML = (const char *)str; + mSessionXML = str; logg->logMessage(mSessionXML); } SessionXML::~SessionXML() { - if (mPath != 0) { - free((char *)mSessionXML); - } } void SessionXML::parse() { @@ -79,10 +76,13 @@ void SessionXML::sessionTag(mxml_node_t *tree, mxml_node_t *node) { strncpy(parameters.sample_rate, mxmlElementGetAttr(node, ATTR_SAMPLE_RATE), sizeof(parameters.sample_rate)); parameters.sample_rate[sizeof(parameters.sample_rate) - 1] = 0; // strncpy does not guarantee a null-terminated string } + if (mxmlElementGetAttr(node, ATTR_CAPTURE_WORKING_DIR)) gSessionData->mCaptureWorkingDir = strdup(mxmlElementGetAttr(node, ATTR_CAPTURE_WORKING_DIR)); + if (mxmlElementGetAttr(node, ATTR_CAPTURE_COMMAND)) gSessionData->mCaptureCommand = strdup(mxmlElementGetAttr(node, ATTR_CAPTURE_COMMAND)); + if (mxmlElementGetAttr(node, ATTR_CAPTURE_USER)) gSessionData->mCaptureUser = strdup(mxmlElementGetAttr(node, ATTR_CAPTURE_USER)); // integers/bools parameters.call_stack_unwinding = util->stringToBool(mxmlElementGetAttr(node, ATTR_CALL_STACK_UNWINDING), false); - if (mxmlElementGetAttr(node, ATTR_DURATION)) parameters.duration = strtol(mxmlElementGetAttr(node, ATTR_DURATION), NULL, 10); + if (mxmlElementGetAttr(node, ATTR_DURATION)) gSessionData->mDuration = strtol(mxmlElementGetAttr(node, ATTR_DURATION), NULL, 10); if (mxmlElementGetAttr(node, ATTR_LIVE_RATE)) parameters.live_rate = strtol(mxmlElementGetAttr(node, ATTR_LIVE_RATE), NULL, 10); // parse subtags @@ -106,6 +106,6 @@ void SessionXML::sessionImage(mxml_node_t *node) { image = (struct ImageLinkList *)malloc(sizeof(struct ImageLinkList)); image->path = (char*)malloc(length + 1); image->path = strdup(mxmlElementGetAttr(node, ATTR_PATH)); - image->next = parameters.images; - parameters.images = image; + image->next = gSessionData->mImages; + gSessionData->mImages = image; } |