summaryrefslogtreecommitdiff
path: root/plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h')
-rw-r--r--plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h b/plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h
new file mode 100644
index 00000000..4ef71169
--- /dev/null
+++ b/plugins/com.ionic.keyboard/src/blackberry10/native/public/plugin.h
@@ -0,0 +1,70 @@
+#ifndef _PLUGIN_H
+#define _PLUGIN_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include <unistd.h>
+//#include "tokenizer.h"
+
+using namespace std;
+
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+//%% Functions exported by this DLL
+//%% Should always be only SetEventFunc and InvokeFunction
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+// g++ requires extern "C" otherwise the names of SetEventFunc and InvokeFunction
+// are mangled C++ style. MS Visual Studio doesn't seem to care though.
+extern "C"
+{
+ typedef void (*SendPluginEv)( const char* szEvent, void* pContext );
+ char* SetEventFunc(SendPluginEv funcPtr);
+ char* InvokeFunction( const char* szCommand, void* pContext );
+}
+
+// JNEXT Framework function of the form:
+// typedef void (*SendPluginEv)( const char* szEvent );
+// used to notify JavaScript of an asynchronous event
+extern SendPluginEv SendPluginEvent;
+
+/////////////////////////////////////////////////////////////////////////
+// Constants and methods common to all JNEXT extensions types
+/////////////////////////////////////////////////////////////////////////
+#define szERROR "Error "
+#define szOK "Ok "
+
+#define szDISPOSE "Dispose"
+#define szINVOKE "InvokeMethod"
+#define szCREATE "CreateObj"
+
+/////////////////////////////////////////////////////////////////////////
+// Utility functions
+/////////////////////////////////////////////////////////////////////////
+string& g_trim( string& str );
+void g_tokenize(const string& str,const string& delimiters, vector<string>& tokens);
+char* g_str2static( const string& strRetVal );
+void g_sleep( unsigned int mseconds );
+bool g_unregisterObject( const string& strObjId, void* pContext );
+
+
+/////////////////////////////////////////////////////////////////////////
+// Abstract extension object
+/////////////////////////////////////////////////////////////////////////
+class JSExt
+{
+public:
+ virtual ~JSExt() {};
+ virtual string InvokeMethod( const string& strCommand ) = 0;
+ virtual bool CanDelete( void ) = 0;
+ virtual void TryDelete( void ) {}
+public:
+ void* m_pContext;
+};
+
+/////////////////////////////////////////////////////////////////////////
+// Callback functions to be implemented by the plugin implementation
+/////////////////////////////////////////////////////////////////////////
+extern char* onGetObjList( void );
+extern JSExt* onCreateObject( const string& strClassName, const string& strObjId );
+
+#endif