summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/invoker
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-04-22 14:02:03 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-04-22 14:02:03 (GMT)
commit1fb6bcf30f954e426f2d3002d14887574fb941dd (patch)
tree08cff7f2b879c50efe79e3c04d255075522af862 /src/uscxml/plugins/invoker
parent71c334bf4e35559496feac3f3cf00b72ceb88812 (diff)
downloaduscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.zip
uscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.tar.gz
uscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.tar.bz2
Major refactoring
- Moved tests - Changes to promela datamodel - Implemented Trie
Diffstat (limited to 'src/uscxml/plugins/invoker')
-rw-r--r--src/uscxml/plugins/invoker/im/IMInvoker.cpp4
-rw-r--r--src/uscxml/plugins/invoker/imap/IMAPInvoker.cpp310
-rw-r--r--src/uscxml/plugins/invoker/imap/IMAPInvoker.h54
-rw-r--r--src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp10
-rw-r--r--src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp8
5 files changed, 189 insertions, 197 deletions
diff --git a/src/uscxml/plugins/invoker/im/IMInvoker.cpp b/src/uscxml/plugins/invoker/im/IMInvoker.cpp
index 6de4063..d086a20 100644
--- a/src/uscxml/plugins/invoker/im/IMInvoker.cpp
+++ b/src/uscxml/plugins/invoker/im/IMInvoker.cpp
@@ -721,7 +721,7 @@ void IMInvoker::send(void *userdata, const std::string event) {
if (ctx->sendReq.content.length() > 0)
purple_conv_im_send(purple_conversation_get_im_data(conv), ctx->sendReq.content.c_str());
#endif
-
+
#if 0
if (data.binary) {
PurpleConnection *gc = purple_account_get_connection(ctx->instance->_account);
@@ -770,7 +770,7 @@ void IMInvoker::send(void *userdata, const std::string event) {
#else
purple_account_add_buddy(ctx->instance->_account, buddy);
#endif
-
+
} else if (iequals(ctx->sendReq.name, "im.buddy.remove")) {
std::string buddyName;
Event::getParam(ctx->sendReq.params, "name", buddyName);
diff --git a/src/uscxml/plugins/invoker/imap/IMAPInvoker.cpp b/src/uscxml/plugins/invoker/imap/IMAPInvoker.cpp
index 5237977..d3686f9 100644
--- a/src/uscxml/plugins/invoker/imap/IMAPInvoker.cpp
+++ b/src/uscxml/plugins/invoker/imap/IMAPInvoker.cpp
@@ -84,22 +84,22 @@ size_t IMAPInvoker::writeCurlData(void *ptr, size_t size, size_t nmemb, void *us
size_t IMAPInvoker::readCurlData(void *ptr, size_t size, size_t nmemb, void *userdata) {
if (!userdata)
return 0;
-
+
IMAPContext* ctx = (IMAPContext*)userdata;
ctx->inContent << std::string((char*)ptr, size * nmemb);
-
+
return size * nmemb;
}
-
+
void IMAPInvoker::send(const SendRequest& req) {
IMAPContext* ctx = NULL;
-
+
if (false) {
} else if (iequals(req.name, "select")) {
IMAPContext::Select* args = new IMAPContext::Select();
Event::getParam(req.params, "mailbox", args->mailbox);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_SELECT;
ctx->arguments = args;
@@ -107,7 +107,7 @@ void IMAPInvoker::send(const SendRequest& req) {
} else if (iequals(req.name, "examine")) {
IMAPContext::Examine* args = new IMAPContext::Examine();
Event::getParam(req.params, "mailbox", args->mailbox);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_EXAMINE;
ctx->arguments = args;
@@ -115,7 +115,7 @@ void IMAPInvoker::send(const SendRequest& req) {
} else if (iequals(req.name, "delete")) {
IMAPContext::Delete* args = new IMAPContext::Delete();
Event::getParam(req.params, "mailbox", args->mailbox);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_DELETE;
ctx->arguments = args;
@@ -124,7 +124,7 @@ void IMAPInvoker::send(const SendRequest& req) {
IMAPContext::Rename* args = new IMAPContext::Rename();
Event::getParam(req.params, "mailbox", args->mailbox);
Event::getParam(req.params, "name", args->newName);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_RENAME;
ctx->arguments = args;
@@ -132,7 +132,7 @@ void IMAPInvoker::send(const SendRequest& req) {
} else if (iequals(req.name, "subscribe")) {
IMAPContext::Subscribe* args = new IMAPContext::Subscribe();
Event::getParam(req.params, "mailbox", args->mailbox);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_SUBSCRIBE;
ctx->arguments = args;
@@ -140,7 +140,7 @@ void IMAPInvoker::send(const SendRequest& req) {
} else if (iequals(req.name, "unsubscribe")) {
IMAPContext::Unsubscribe* args = new IMAPContext::Unsubscribe();
Event::getParam(req.params, "mailbox", args->mailbox);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_UNSUBSCRIBE;
ctx->arguments = args;
@@ -149,7 +149,7 @@ void IMAPInvoker::send(const SendRequest& req) {
IMAPContext::List* args = new IMAPContext::List();
Event::getParam(req.params, "mailbox", args->mailbox);
Event::getParam(req.params, "reference", args->refName);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_LIST;
ctx->arguments = args;
@@ -158,7 +158,7 @@ void IMAPInvoker::send(const SendRequest& req) {
IMAPContext::LSub* args = new IMAPContext::LSub();
Event::getParam(req.params, "mailbox", args->mailbox);
Event::getParam(req.params, "reference", args->refName);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_LSUB;
ctx->arguments = args;
@@ -167,7 +167,7 @@ void IMAPInvoker::send(const SendRequest& req) {
IMAPContext::Status* args = new IMAPContext::Status();
Event::getParam(req.params, "mailbox", args->mailbox);
Event::getParam(req.params, "dataitems", args->dataItems);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_STATUS;
ctx->arguments = args;
@@ -181,107 +181,107 @@ void IMAPInvoker::send(const SendRequest& req) {
if (!Event::getParam(req.params, "message", args->literal)) {
args->literal = req.content;
}
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_APPEND;
ctx->arguments = args;
} else if (iequals(req.name, "check")) {
IMAPContext::Check* args = new IMAPContext::Check();
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_CHECK;
ctx->arguments = args;
} else if (iequals(req.name, "close")) {
IMAPContext::Close* args = new IMAPContext::Close();
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_CLOSE;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "expunge")) {
IMAPContext::Expunge* args = new IMAPContext::Expunge();
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_EXPUNGE;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "search")) {
IMAPContext::Search* args = new IMAPContext::Search();
Event::getParam(req.params, "charset", args->charSet);
Event::getParam(req.params, "criteria", args->criteria);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_SEARCH;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "fetch")) {
IMAPContext::Fetch* args = new IMAPContext::Fetch();
Event::getParam(req.params, "sequence", args->sequence);
Event::getParam(req.params, "itemnames", args->itemNames);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_FETCH;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "store")) {
IMAPContext::Store* args = new IMAPContext::Store();
Event::getParam(req.params, "sequence", args->sequence);
Event::getParam(req.params, "itemnames", args->itemNames);
Event::getParam(req.params, "values", args->values);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_STORE;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "copy")) {
IMAPContext::Copy* args = new IMAPContext::Copy();
Event::getParam(req.params, "mailbox", args->mailbox);
Event::getParam(req.params, "sequence", args->sequence);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_COPY;
ctx->arguments = args;
-
+
} else if (iequals(req.name, "uid")) {
IMAPContext::UId* args = new IMAPContext::UId();
Event::getParam(req.params, "command", args->command);
Event::getParam(req.params, "arguments", args->arguments);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_UID;
ctx->arguments = args;
-
+
} else if (boost::istarts_with(req.name, "x")) {
IMAPContext::XExtension* args = new IMAPContext::XExtension();
args->command = req.name;
Event::getParam(req.params, "arguments", args->arguments);
-
+
ctx = new IMAPContext();
ctx->command = IMAPContext::IMAP_XEXTENSION;
ctx->arguments = args;
-
+
}
-
+
if (ctx == NULL) {
returnErrorExecution("Event '" + req.name + "' not known");
return;
}
-
+
Event::getParam(req.params, "verbose", ctx->verbose);
Event::getParam(req.params, "ssl", ctx->useSSL);
ctx->invoker = this;
ctx->sendReq = req;
-
+
_workQueue.push(ctx);
}
void IMAPInvoker::process(IMAPContext* ctx) {
CURL* _curl;
CURLcode curlError;
-
+
// see http://curl.haxx.se/libcurl/c/imap-tls.html
_curl = curl_easy_init();
if(_curl) {
@@ -291,7 +291,7 @@ void IMAPInvoker::process(IMAPContext* ctx) {
LOG(ERROR) << "Cannot set password: " << curl_easy_strerror(curlError);
(curlError = curl_easy_setopt(_curl, CURLOPT_URL, _server.c_str())) == CURLE_OK ||
LOG(ERROR) << "Cannot set server string: " << curl_easy_strerror(curlError);
-
+
if (ctx->useSSL) {
(curlError = curl_easy_setopt(_curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL)) == CURLE_OK ||
LOG(ERROR) << "Cannot use SSL: " << curl_easy_strerror(curlError);
@@ -304,9 +304,9 @@ void IMAPInvoker::process(IMAPContext* ctx) {
(curlError = curl_easy_setopt(_curl, CURLOPT_CAINFO, "/path/to/certificate.pem")) == CURLE_OK ||
LOG(ERROR) << "Cannot set CA info path: " << curl_easy_strerror(curlError);
#endif
-
+
}
-
+
(curlError = curl_easy_setopt(_curl, CURLOPT_READFUNCTION, IMAPInvoker::writeCurlData)) == CURLE_OK ||
LOG(ERROR) << "Cannot register read function: " << curl_easy_strerror(curlError);
(curlError = curl_easy_setopt(_curl, CURLOPT_READDATA, ctx)) == CURLE_OK ||
@@ -315,7 +315,7 @@ void IMAPInvoker::process(IMAPContext* ctx) {
LOG(ERROR) << "Cannot register read function: " << curl_easy_strerror(curlError);
(curlError = curl_easy_setopt(_curl, CURLOPT_WRITEDATA, ctx)) == CURLE_OK ||
LOG(ERROR) << "Cannot register userdata for write function: " << curl_easy_strerror(curlError);
-
+
if (ctx->verbose) {
(curlError = curl_easy_setopt(_curl, CURLOPT_VERBOSE, 1L)) == CURLE_OK ||
LOG(ERROR) << "Cannot set curl to verbose: " << curl_easy_strerror(curlError);
@@ -323,114 +323,114 @@ void IMAPInvoker::process(IMAPContext* ctx) {
std::stringstream cmdSS;
switch (ctx->command) {
- case IMAPContext::IMAP_SELECT: {
- IMAPContext::Select* cmd = (IMAPContext::Select*)ctx->arguments;
- cmdSS << "SELECT " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_EXAMINE: {
- IMAPContext::Examine* cmd = (IMAPContext::Examine*)ctx->arguments;
- cmdSS << "EXAMINE " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_CREATE: {
- IMAPContext::Create* cmd = (IMAPContext::Create*)ctx->arguments;
- cmdSS << "CREATE " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_DELETE: {
- IMAPContext::Delete* cmd = (IMAPContext::Delete*)ctx->arguments;
- cmdSS << "DELETE " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_RENAME: {
- IMAPContext::Rename* cmd = (IMAPContext::Rename*)ctx->arguments;
- cmdSS << "RENAME " << "\"" << cmd->mailbox << "\" \"" << cmd->newName << "\"";
- break;
- }
- case IMAPContext::IMAP_SUBSCRIBE: {
- IMAPContext::Subscribe* cmd = (IMAPContext::Subscribe*)ctx->arguments;
- cmdSS << "SUBSCRIBE " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_UNSUBSCRIBE: {
- IMAPContext::Unsubscribe* cmd = (IMAPContext::Unsubscribe*)ctx->arguments;
- cmdSS << "UNSUBSCRIBE " << "\"" << cmd->mailbox << "\"";
- break;
- }
- case IMAPContext::IMAP_LIST: {
- IMAPContext::List* cmd = (IMAPContext::List*)ctx->arguments;
- cmdSS << "LIST " << "\"" << cmd->mailbox << "\" \"" << cmd->refName << "\"";
- break;
- }
- case IMAPContext::IMAP_LSUB: {
- IMAPContext::LSub* cmd = (IMAPContext::LSub*)ctx->arguments;
- cmdSS << "LSUB " << "\"" << cmd->mailbox << "\" \"" << cmd->refName << "\"";
- break;
- }
- case IMAPContext::IMAP_STATUS: {
- IMAPContext::Status* cmd = (IMAPContext::Status*)ctx->arguments;
- cmdSS << "STATUS " << "\"" << cmd->mailbox << "\" (" << cmd->dataItems << ")";
- break;
- }
- case IMAPContext::IMAP_APPEND: {
- IMAPContext::Append* cmd = (IMAPContext::Append*)ctx->arguments;
- cmdSS << "APPEND " << "\"" << cmd->mailbox << "\" (" << cmd->flags << ") {" << cmd->dateTime << "}";
- break;
- }
- case IMAPContext::IMAP_CHECK: {
- cmdSS << "CHECK";
- break;
- }
- case IMAPContext::IMAP_CLOSE: {
- cmdSS << "CLOSE";
- break;
- }
- case IMAPContext::IMAP_EXPUNGE: {
- cmdSS << "EXPUNGE";
- break;
- }
- case IMAPContext::IMAP_SEARCH: {
- IMAPContext::Search* cmd = (IMAPContext::Search*)ctx->arguments;
- cmdSS << "SEARCH ";
- if (cmd->charSet.size() > 0) {
- cmdSS << "CHARSET " << cmd->charSet << " ";
- }
- cmdSS << cmd->criteria;
- break;
- }
- case IMAPContext::IMAP_FETCH: {
- IMAPContext::Fetch* cmd = (IMAPContext::Fetch*)ctx->arguments;
- cmdSS << "FETCH " << cmd->sequence << " " << cmd->itemNames;
- break;
- }
- case IMAPContext::IMAP_STORE: {
- IMAPContext::Store* cmd = (IMAPContext::Store*)ctx->arguments;
- cmdSS << "STORE " << cmd->sequence << " " << cmd->itemNames << " " << cmd->values;
- break;
- }
- case IMAPContext::IMAP_COPY: {
- IMAPContext::Copy* cmd = (IMAPContext::Copy*)ctx->arguments;
- cmdSS << "COPY " << "\"" << cmd->mailbox << "\" " << cmd->sequence;
- break;
- }
- case IMAPContext::IMAP_UID: {
- IMAPContext::UId* cmd = (IMAPContext::UId*)ctx->arguments;
- cmdSS << "UID " << cmd->command << " " << cmd->arguments;
- break;
- }
- case IMAPContext::IMAP_XEXTENSION: {
- IMAPContext::XExtension* cmd = (IMAPContext::XExtension*)ctx->arguments;
- cmdSS << cmd->command << " " << cmd->arguments;
- break;
+ case IMAPContext::IMAP_SELECT: {
+ IMAPContext::Select* cmd = (IMAPContext::Select*)ctx->arguments;
+ cmdSS << "SELECT " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_EXAMINE: {
+ IMAPContext::Examine* cmd = (IMAPContext::Examine*)ctx->arguments;
+ cmdSS << "EXAMINE " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_CREATE: {
+ IMAPContext::Create* cmd = (IMAPContext::Create*)ctx->arguments;
+ cmdSS << "CREATE " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_DELETE: {
+ IMAPContext::Delete* cmd = (IMAPContext::Delete*)ctx->arguments;
+ cmdSS << "DELETE " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_RENAME: {
+ IMAPContext::Rename* cmd = (IMAPContext::Rename*)ctx->arguments;
+ cmdSS << "RENAME " << "\"" << cmd->mailbox << "\" \"" << cmd->newName << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_SUBSCRIBE: {
+ IMAPContext::Subscribe* cmd = (IMAPContext::Subscribe*)ctx->arguments;
+ cmdSS << "SUBSCRIBE " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_UNSUBSCRIBE: {
+ IMAPContext::Unsubscribe* cmd = (IMAPContext::Unsubscribe*)ctx->arguments;
+ cmdSS << "UNSUBSCRIBE " << "\"" << cmd->mailbox << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_LIST: {
+ IMAPContext::List* cmd = (IMAPContext::List*)ctx->arguments;
+ cmdSS << "LIST " << "\"" << cmd->mailbox << "\" \"" << cmd->refName << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_LSUB: {
+ IMAPContext::LSub* cmd = (IMAPContext::LSub*)ctx->arguments;
+ cmdSS << "LSUB " << "\"" << cmd->mailbox << "\" \"" << cmd->refName << "\"";
+ break;
+ }
+ case IMAPContext::IMAP_STATUS: {
+ IMAPContext::Status* cmd = (IMAPContext::Status*)ctx->arguments;
+ cmdSS << "STATUS " << "\"" << cmd->mailbox << "\" (" << cmd->dataItems << ")";
+ break;
+ }
+ case IMAPContext::IMAP_APPEND: {
+ IMAPContext::Append* cmd = (IMAPContext::Append*)ctx->arguments;
+ cmdSS << "APPEND " << "\"" << cmd->mailbox << "\" (" << cmd->flags << ") {" << cmd->dateTime << "}";
+ break;
+ }
+ case IMAPContext::IMAP_CHECK: {
+ cmdSS << "CHECK";
+ break;
+ }
+ case IMAPContext::IMAP_CLOSE: {
+ cmdSS << "CLOSE";
+ break;
+ }
+ case IMAPContext::IMAP_EXPUNGE: {
+ cmdSS << "EXPUNGE";
+ break;
+ }
+ case IMAPContext::IMAP_SEARCH: {
+ IMAPContext::Search* cmd = (IMAPContext::Search*)ctx->arguments;
+ cmdSS << "SEARCH ";
+ if (cmd->charSet.size() > 0) {
+ cmdSS << "CHARSET " << cmd->charSet << " ";
}
- default:
- break;
+ cmdSS << cmd->criteria;
+ break;
+ }
+ case IMAPContext::IMAP_FETCH: {
+ IMAPContext::Fetch* cmd = (IMAPContext::Fetch*)ctx->arguments;
+ cmdSS << "FETCH " << cmd->sequence << " " << cmd->itemNames;
+ break;
+ }
+ case IMAPContext::IMAP_STORE: {
+ IMAPContext::Store* cmd = (IMAPContext::Store*)ctx->arguments;
+ cmdSS << "STORE " << cmd->sequence << " " << cmd->itemNames << " " << cmd->values;
+ break;
+ }
+ case IMAPContext::IMAP_COPY: {
+ IMAPContext::Copy* cmd = (IMAPContext::Copy*)ctx->arguments;
+ cmdSS << "COPY " << "\"" << cmd->mailbox << "\" " << cmd->sequence;
+ break;
+ }
+ case IMAPContext::IMAP_UID: {
+ IMAPContext::UId* cmd = (IMAPContext::UId*)ctx->arguments;
+ cmdSS << "UID " << cmd->command << " " << cmd->arguments;
+ break;
+ }
+ case IMAPContext::IMAP_XEXTENSION: {
+ IMAPContext::XExtension* cmd = (IMAPContext::XExtension*)ctx->arguments;
+ cmdSS << cmd->command << " " << cmd->arguments;
+ break;
+ }
+ default:
+ break;
}
curl_easy_setopt(_curl, CURLOPT_CUSTOMREQUEST, cmdSS.str().c_str());
CURLcode res = curl_easy_perform(_curl);
-
+
/* Check for errors */
if(res != CURLE_OK) {
LOG(ERROR) << "curl_easy_perform() failed: " << curl_easy_strerror(res);
@@ -441,30 +441,30 @@ void IMAPInvoker::process(IMAPContext* ctx) {
#if 0
switch (ctx->command) {
- case IMAPContext::LIST:
- e.data = parseListReponse(ctx->inContent.str());
- break;
- default:
- break;
+ case IMAPContext::LIST:
+ e.data = parseListReponse(ctx->inContent.str());
+ break;
+ default:
+ break;
}
#endif
-
+
e.name = ctx->sendReq.name + ".success";
e.data.compound["raw"] = Data(ctx->inContent.str(), Data::VERBATIM);
returnEvent(e);
}
-
+
/* Always cleanup */
curl_easy_cleanup(_curl);
-
+
}
}
#if 0
Data IMAPInvoker::parseListReponse(const std::string& response) {
Data data;
-
+
std::string line;
std::istringstream inSS(response);
@@ -472,14 +472,14 @@ Data IMAPInvoker::parseListReponse(const std::string& response) {
// individual lines
size_t lastSep = line.find_last_of("\" ");
if (lastSep != std::string::npos) {
-
+
}
}
-
+
return data;
}
#endif
-
+
void IMAPInvoker::cancel(const std::string sendId) {
}
@@ -487,7 +487,7 @@ void IMAPInvoker::invoke(const InvokeRequest& req) {
Event::getParam(req.params, "username", _username);
Event::getParam(req.params, "password", _password);
Event::getParam(req.params, "server", _server);
-
+
_isRunning = true;
_thread = new tthread::thread(IMAPInvoker::run, this);
}
diff --git a/src/uscxml/plugins/invoker/imap/IMAPInvoker.h b/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
index 94d199b..b1da324 100644
--- a/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
+++ b/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
@@ -52,37 +52,37 @@ public:
protected:
class IMAPContext {
-
+
public:
enum Cmd {
- // valid in authenticated state
- IMAP_SELECT,
- IMAP_EXAMINE,
- IMAP_CREATE,
- IMAP_DELETE,
- IMAP_RENAME,
- IMAP_SUBSCRIBE,
- IMAP_UNSUBSCRIBE,
- IMAP_LIST,
- IMAP_LSUB,
- IMAP_STATUS,
- IMAP_APPEND,
- // valid in selected state
- IMAP_CHECK,
- IMAP_CLOSE,
- IMAP_EXPUNGE,
- IMAP_SEARCH,
- IMAP_FETCH,
- IMAP_STORE,
- IMAP_COPY,
- IMAP_UID,
- IMAP_XEXTENSION,
+ // valid in authenticated state
+ IMAP_SELECT,
+ IMAP_EXAMINE,
+ IMAP_CREATE,
+ IMAP_DELETE,
+ IMAP_RENAME,
+ IMAP_SUBSCRIBE,
+ IMAP_UNSUBSCRIBE,
+ IMAP_LIST,
+ IMAP_LSUB,
+ IMAP_STATUS,
+ IMAP_APPEND,
+ // valid in selected state
+ IMAP_CHECK,
+ IMAP_CLOSE,
+ IMAP_EXPUNGE,
+ IMAP_SEARCH,
+ IMAP_FETCH,
+ IMAP_STORE,
+ IMAP_COPY,
+ IMAP_UID,
+ IMAP_XEXTENSION,
};
struct MailboxOp {
std::string mailbox;
};
-
+
struct Select : MailboxOp {};
struct Examine : MailboxOp {};
struct Create : MailboxOp {};
@@ -127,12 +127,12 @@ protected:
};
struct XExtension : UId {};
-
+
IMAPContext() : readPtr(0) {}
void* arguments;
Cmd command;
-
+
IMAPInvoker* invoker;
SendRequest sendReq;
std::stringstream inContent;
@@ -149,7 +149,7 @@ protected:
std::string _server;
static void run(void*);
-
+
tthread::thread* _thread;
uscxml::concurrency::BlockingQueue<IMAPContext*> _workQueue;
bool _isRunning;
diff --git a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
index f1d9ad1..37ec669 100644
--- a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
+++ b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
@@ -82,15 +82,7 @@ void USCXMLInvoker::invoke(const InvokeRequest& req) {
DataModel dataModel(_invokedInterpreter.getImpl()->getDataModel());
_invokedInterpreter.getImpl()->setParentQueue(&_parentQueue);
// transfer namespace prefixes
- _invokedInterpreter.getImpl()->_nsURL = _parentInterpreter->_nsURL;
- _invokedInterpreter.getImpl()->_xpathPrefix = _parentInterpreter->_xpathPrefix;
- _invokedInterpreter.getImpl()->_nsToPrefix = _parentInterpreter->_nsToPrefix;
- std::map<std::string, std::string>::iterator nsIter = _parentInterpreter->_nsToPrefix.begin();
- while(nsIter != _parentInterpreter->_nsToPrefix.end()) {
- _invokedInterpreter.getImpl()->_nsContext.addNamespaceDeclaration(nsIter->first, nsIter->second);
- nsIter++;
- }
- _invokedInterpreter.getImpl()->_xmlNSPrefix = _parentInterpreter->_xmlNSPrefix;
+ _invokedInterpreter.setNameSpaceInfo(_parentInterpreter->getNameSpaceInfo());
_invokedInterpreter.getImpl()->_sessionId = req.invokeid;
/// test240 assumes that invoke request params will carry over to the datamodel
diff --git a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
index 4129413..c84fd8f 100644
--- a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
+++ b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
@@ -73,20 +73,20 @@ void UmundoInvoker::send(const SendRequest& req) {
} else {
msg.putMeta("event", "umundo");
}
-
+
try {
Data data = req.data;
-
+
if (!data && req.content.length())
data = _interpreter->getDataModel().getStringAsData(req.content);
-
+
if (!data) {
LOG(ERROR) << "Cannot transform content to data object per datamodel or no data given";
return;
}
// std::cout << Data::toJSON(data) << std::endl;
-
+
std::string type;
if (req.params.find("type") != req.params.end()) {
// we are supposed to build a typed object