summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/invoker/imap/IMAPInvoker.h')
-rw-r--r--src/uscxml/plugins/invoker/imap/IMAPInvoker.h171
1 files changed, 0 insertions, 171 deletions
diff --git a/src/uscxml/plugins/invoker/imap/IMAPInvoker.h b/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
deleted file mode 100644
index bf2b3e9..0000000
--- a/src/uscxml/plugins/invoker/imap/IMAPInvoker.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * @file
- * @author 2012-2013 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
- * @copyright Simplified BSD
- *
- * @cond
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the FreeBSD license as published by the FreeBSD
- * project.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * You should have received a copy of the FreeBSD license along with this
- * program. If not, see <http://www.opensource.org/licenses/bsd-license>.
- * @endcond
- */
-
-#ifndef IMAPINVOKER_H_W09JFED0
-#define IMAPINVOKER_H_W09JFED0
-
-#include <uscxml/Interpreter.h>
-#include <uscxml/concurrency/BlockingQueue.h>
-
-#ifdef BUILD_AS_PLUGINS
-#include "uscxml/plugins/Plugins.h"
-#endif
-
-#include <curl/curl.h>
-
-namespace uscxml {
-
-class IMAPInvoker : public InvokerImpl {
-public:
- IMAPInvoker();
- virtual ~IMAPInvoker();
- virtual boost::shared_ptr<InvokerImpl> create(InterpreterImpl* interpreter);
-
- virtual std::list<std::string> getNames() {
- std::list<std::string> names;
- names.push_back("imap");
- names.push_back("http://uscxml.tk.informatik.tu-darmstadt.de/#imap");
- return names;
- }
-
- virtual Data getDataModelVariables();
- virtual void send(const SendRequest& req);
- virtual void cancel(const std::string sendId);
- virtual void invoke(const InvokeRequest& req);
-
-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,
- };
-
- struct MailboxOp {
- std::string mailbox;
- };
-
- struct Select : MailboxOp {};
- struct Examine : MailboxOp {};
- struct Create : MailboxOp {};
- struct Delete : MailboxOp {};
- struct Rename : MailboxOp {
- std::string newName;
- };
- struct Subscribe : MailboxOp {};
- struct Unsubscribe : MailboxOp {};
- struct List : MailboxOp {
- std::string refName;
- };
- struct LSub : List {};
- struct Status : MailboxOp {
- std::string dataItems;
- };
- struct Append : MailboxOp {
- std::string flags;
- std::string dateTime;
- std::string literal;
- };
- struct Check {};
- struct Close {};
- struct Expunge {};
- struct Search {
- std::string charSet;
- std::string criteria;
- };
- struct Fetch {
- std::string sequence;
- std::string itemNames;
- };
- struct Store : Fetch {
- std::string values;
- };
- struct Copy : MailboxOp {
- std::string sequence;
- };
- struct UId {
- std::string command;
- std::string arguments;
- };
- struct XExtension : UId {};
-
-
- IMAPContext() : readPtr(0) {}
-
- void* arguments;
- Cmd command;
-
- IMAPInvoker* invoker;
- SendRequest sendReq;
- std::stringstream inContent;
- std::string outContent;
- size_t readPtr;
- bool verbose;
- bool useSSL;
-
- };
-
-protected:
- std::string _username;
- std::string _password;
- std::string _server;
-
- static void run(void*);
-
- tthread::thread* _thread;
- uscxml::concurrency::BlockingQueue<IMAPContext*> _workQueue;
- bool _isRunning;
-
- void process(IMAPContext* ctx);
- static size_t writeCurlData(void *ptr, size_t size, size_t nmemb, void *userdata);
- static size_t readCurlData(void *ptr, size_t size, size_t nmemb, void *userdata);
-
-// Data parseListReponse(const std::string& response);
-};
-
-#ifdef BUILD_AS_PLUGINS
-PLUMA_INHERIT_PROVIDER(IMAPInvoker, InvokerImpl);
-#endif
-
-}
-
-
-#endif /* end of include guard: IMAPINVOKER_H_W09JFED0 */