You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ti...@apache.org on 2012/10/24 00:53:45 UTC
[1/2] webworks commit: Whoops, accidently added these files
Updated Branches:
refs/heads/bb10_ext_qnx 79113f997 -> feba03c38
Whoops, accidently added these files
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/commit/feba03c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/tree/feba03c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/diff/feba03c3
Branch: refs/heads/bb10_ext_qnx
Commit: feba03c38826c14fd03aa6bbc591589a83e6df1b
Parents: a3f11f6
Author: Tim Kim <ti...@nitobi.com>
Authored: Tue Oct 23 15:53:29 2012 -0700
Committer: Tim Kim <ti...@nitobi.com>
Committed: Tue Oct 23 15:53:29 2012 -0700
----------------------------------------------------------------------
framework/ext-qnx/public/plugin.cpp | 320 ---------------------------
framework/ext-qnx/public/plugin.h | 70 ------
framework/ext-qnx/public/tokenizer.cpp | 222 -------------------
framework/ext-qnx/public/tokenizer.h | 55 -----
framework/ext-qnx/src/memory_js.cpp | 172 --------------
framework/ext-qnx/src/memory_js.hpp | 50 ----
6 files changed, 0 insertions(+), 889 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/public/plugin.cpp
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/public/plugin.cpp b/framework/ext-qnx/public/plugin.cpp
deleted file mode 100644
index 6906275..0000000
--- a/framework/ext-qnx/public/plugin.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-#include "plugin.h"
-#include "tokenizer.h"
-
-#ifdef _WINDOWS
-#include <windows.h>
-BOOL APIENTRY DllMain( HANDLE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved )
-{
- return TRUE;
-}
-#else
-#include <errno.h>
-#include <string.h>
-
-extern int errno;
-#endif
-
-SendPluginEv SendPluginEvent;
-
-string g_GetSysErrMsg( void )
-{
- string strError = "Unknown";
- // Problem loading
-#ifdef _WINDOWS
- int nErrorCode = GetLastError();
- LPTSTR s;
- if ( ::FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL, nErrorCode, 0, ( LPTSTR ) &s, 0, NULL ) )
- {
- strError = s;
- }
- else
- {
- char szBuf[ 20 ];
- _snprintf_s( szBuf, _countof(szBuf), 19, "%d", nErrorCode );
- strError = szBuf;
- }
-#else
- char szError[80];
- if ( strerror_r( errno, szError, sizeof(szError) ) )
- {
- strError = "no description found";
- }
- else
- {
- strError = szError;
- }
-#endif
- return strError;
-}
-
-void g_sleep( unsigned int mseconds )
-{
-#ifdef _WINDOWS
- Sleep( mseconds );
-#else
- usleep( mseconds * 1000 );
-#endif
-}
-
-string& g_trim( string& str )
-{
- // Whitespace characters
- char whspc[] = " \t\r\n\v\f";
-
- // Whack off first part
- size_t pos = str.find_first_not_of( whspc );
-
- if ( pos != string::npos )
- str.replace( 0, pos, "" );
-
- // Whack off trailing stuff
- pos = str.find_last_not_of( whspc );
-
- if ( pos != string::npos )
- str.replace( pos + 1, str.length() - pos, "" );
-
- return str;
-}
-
-void g_tokenize( const string& str, const string& delimiters, vector<string>& tokens )
-{
- tokenize( str, tokens, delimiters );
-}
-
-char* SetEventFunc( SendPluginEv funcPtr )
-{
- static char * szObjList = onGetObjList();
- SendPluginEvent = funcPtr;
- return szObjList;
-}
-
-
-const int nMAXSIZE = 512;
-char* g_pszRetVal = NULL;
-
-//-----------------------------------------------------------
-// Map from an object Id to an object instance
-//-----------------------------------------------------------
-typedef std::map<string, JSExt*> StringToJExt_T;
-
-//-----------------------------------------------------------
-// Map from a browser context to an id mapping
-//-----------------------------------------------------------
-typedef std::map<void*, StringToJExt_T*> VoidToMap_T;
-
-VoidToMap_T g_context2Map;
-
-class GlobalSharedModule
-{
-
-public:
- GlobalSharedModule( void )
- {
- g_pszRetVal = new char[ nMAXSIZE ];
- }
-
- ~GlobalSharedModule()
- {
- delete [] g_pszRetVal;
-
- VoidToMap_T::iterator posMaps;
-
- for ( posMaps = g_context2Map.begin(); posMaps != g_context2Map.end(); ++posMaps )
- {
- StringToJExt_T& id2Obj = *posMaps->second;
- StringToJExt_T::iterator posMap;
-
- for ( posMap = id2Obj.begin(); posMap != id2Obj.end(); ++posMap )
- {
- JSExt* pJSExt = posMap->second;
-
- if ( pJSExt->CanDelete() )
- {
- delete pJSExt;
- }
- }
-
- id2Obj.erase( id2Obj.begin(), id2Obj.end() );
- }
-
- g_context2Map.erase( g_context2Map.begin(), g_context2Map.end() );
- }
-};
-
-GlobalSharedModule g_sharedModule;
-
-char* g_str2global( const string& strRetVal )
-{
- int nLen = strRetVal.size();
-
- if ( nLen >= nMAXSIZE )
- {
- delete [] g_pszRetVal;
- g_pszRetVal = new char[ nLen + 1 ];
- }
-
- else
- {
- // To minimaize the number of memory reallocations, the assumption
- // is that in most times this will be the case
- delete [] g_pszRetVal;
- g_pszRetVal = new char[ nMAXSIZE ];
- }
-
- strcpy( g_pszRetVal, strRetVal.c_str() );
- return g_pszRetVal;
-}
-
-bool g_unregisterObject( const string& strObjId, void* pContext )
-{
- // Called by the plugin extension implementation
- // if the extension handles the deletion of its object
-
- StringToJExt_T * pID2Obj = NULL;
-
- VoidToMap_T::iterator iter = g_context2Map.find( pContext );
-
- if ( iter != g_context2Map.end() )
- {
- pID2Obj = iter->second;
- }
- else
- {
- return false;
- }
-
- StringToJExt_T& mapID2Obj = *pID2Obj;
-
- StringToJExt_T::iterator r = mapID2Obj.find( strObjId );
-
- if ( r == mapID2Obj.end() )
- {
- return false;
- }
-
- mapID2Obj.erase( strObjId );
- return true;
-}
-
-char* InvokeFunction( const char* szCommand, void* pContext )
-{
- StringToJExt_T * pID2Obj = NULL;
-
- VoidToMap_T::iterator iter = g_context2Map.find( pContext );
-
- if ( iter != g_context2Map.end() )
- {
- pID2Obj = iter->second;
- }
- else
- {
- pID2Obj = new StringToJExt_T;
- g_context2Map[ pContext ] = pID2Obj;
- }
-
- StringToJExt_T& mapID2Obj = *pID2Obj;
-
- string strFullCommand = szCommand;
- vector<string> arParams;
- g_tokenize( strFullCommand, " ", arParams );
- string strCommand = arParams[ 0 ];
- string strRetVal = szERROR;
-
- if ( strCommand == szCREATE )
- {
- string strClassName = arParams[ 1 ];
- string strObjId = arParams[ 2 ];
-
- StringToJExt_T::iterator r = mapID2Obj.find( strObjId );
-
- if ( r != mapID2Obj.end() )
- {
- strRetVal += strObjId;
- strRetVal += " :Object already exists.";
- return g_str2global( strRetVal );
- }
-
- JSExt* pJSExt = onCreateObject( strClassName, strObjId );
-
- if ( pJSExt == NULL )
- {
- strRetVal += strObjId;
- strRetVal += " :Unknown object type ";
- strRetVal += strClassName;
- return g_str2global( strRetVal );
- }
-
- pJSExt->m_pContext = pContext;
- mapID2Obj[ strObjId ] = pJSExt;
-
- strRetVal = szOK;
- strRetVal += strObjId;
- return g_str2global( strRetVal );
- }
- else
- if ( strCommand == szINVOKE )
- {
- string strObjId = arParams[ 1 ];
- string strMethod = arParams[ 2 ];
-
- StringToJExt_T::iterator r = mapID2Obj.find( strObjId );
-
- if ( r == mapID2Obj.end() )
- {
- strRetVal += strObjId;
- strRetVal += " :No object found for id.";
- return g_str2global( strRetVal );
- }
-
- JSExt* pJSExt = r->second;
-
- size_t nLoc = strFullCommand.find( strObjId );
-
- if ( nLoc == string::npos )
- {
- strRetVal += strObjId;
- strRetVal += " :Internal InvokeMethod error.";
- return g_str2global( strRetVal );
- }
-
- if ( strMethod == szDISPOSE )
- {
- StringToJExt_T::iterator r = mapID2Obj.find( strObjId );
-
- if ( r == mapID2Obj.end() )
- {
- strRetVal = szERROR;
- strRetVal += strObjId;
- return g_str2global( strRetVal );
- }
-
- JSExt * pJSExt = mapID2Obj[ strObjId ];
-
- if ( pJSExt->CanDelete() )
- {
- delete pJSExt;
- }
-
- mapID2Obj.erase( strObjId );
- strRetVal = szOK;
- strRetVal += strObjId;
- return g_str2global( strRetVal );
- }
-
- size_t nSuffixLoc = nLoc + strObjId.size();
- string strInvoke = strFullCommand.substr( nSuffixLoc );
- strInvoke = g_trim( strInvoke );
- strRetVal = pJSExt->InvokeMethod( strInvoke );
- return g_str2global( strRetVal );
- }
-
- strRetVal += " :Unknown command ";
- strRetVal += strCommand;
- return g_str2global( strRetVal );
-}
-
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/public/plugin.h
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/public/plugin.h b/framework/ext-qnx/public/plugin.h
deleted file mode 100644
index 4ef7116..0000000
--- a/framework/ext-qnx/public/plugin.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#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
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/public/tokenizer.cpp
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/public/tokenizer.cpp b/framework/ext-qnx/public/tokenizer.cpp
deleted file mode 100644
index 4a39573..0000000
--- a/framework/ext-qnx/public/tokenizer.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/************************************************************************
-The zlib/libpng License
-
-Copyright (c) 2006 Joerg Wiedenmann
-
-This software is provided 'as-is', without any express or implied warranty.
-In no event will the authors be held liable for any damages arising from
-the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented;
-you must not claim that you wrote the original software.
-If you use this software in a product, an acknowledgment
-in the product documentation would be appreciated but is
-not required.
-
-2. Altered source versions must be plainly marked as such,
-and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
-***********************************************************************/
-
-/********************************************************************
- created: 2006-01-28
- filename: tokenizer.cpp
- author: J�rg Wiedenmann
-
- purpose: A tokenizer function which provides a very
- customizable way of breaking up strings.
-
- history: 2006-01-28, Original version
- 2006-03-04, Fixed a small parsing bug, thanks Elias.
-*********************************************************************/
-
-#include "tokenizer.h"
-
-using namespace std;
-
-void tokenize ( const string& str, vector<string>& result,
- const string& delimiters, const string& delimiters_preserve,
- const string& quote, const string& esc )
-{
- // clear the vector
- if ( false == result.empty() )
- {
- result.clear();
- }
-
- string::size_type pos = 0; // the current position (char) in the string
- char ch = 0; // buffer for the current character
- char delimiter = 0; // the buffer for the delimiter char which
- // will be added to the tokens if the delimiter
- // is preserved
- char current_quote = 0; // the char of the current open quote
- bool quoted = false; // indicator if there is an open quote
- string token; // string buffer for the token
- bool token_complete = false; // indicates if the current token is
- // read to be added to the result vector
- string::size_type len = str.length(); // length of the input-string
-
- // for every char in the input-string
- while ( len > pos )
- {
- // get the character of the string and reset the delimiter buffer
- ch = str.at(pos);
- delimiter = 0;
-
- // assume ch isn't a delimiter
- bool add_char = true;
-
- // check ...
-
- // ... if the delimiter is an escaped character
- bool escaped = false; // indicates if the next char is protected
- if ( false == esc.empty() ) // check if esc-chars are provided
- {
- if ( string::npos != esc.find_first_of(ch) )
- {
- // get the escaped char
- ++pos;
- if ( pos < len ) // if there are more chars left
- {
- // get the next one
- ch = str.at(pos);
-
- // add the escaped character to the token
- add_char = true;
- }
- else // cannot get any more characters
- {
- // don't add the esc-char
- add_char = false;
- }
-
- // ignore the remaining delimiter checks
- escaped = true;
- }
- }
-
- // ... if the delimiter is a quote
- if ( false == quote.empty() && false == escaped )
- {
- // if quote chars are provided and the char isn't protected
- if ( string::npos != quote.find_first_of(ch) )
- {
- // if not quoted, set state to open quote and set
- // the quote character
- if ( false == quoted )
- {
- quoted = true;
- current_quote = ch;
-
- // don't add the quote-char to the token
- add_char = false;
- }
- else // if quote is open already
- {
- // check if it is the matching character to close it
- if ( current_quote == ch )
- {
- // close quote and reset the quote character
- quoted = false;
- current_quote = 0;
-
- // don't add the quote-char to the token
- add_char = false;
- }
- } // else
- }
- }
-
- // ... if the delimiter isn't preserved
- if ( false == delimiters.empty() && false == escaped &&
- false == quoted )
- {
- // if a delimiter is provided and the char isn't protected by
- // quote or escape char
- if ( string::npos != delimiters.find_first_of(ch) )
- {
- // if ch is a delimiter and the token string isn't empty
- // the token is complete
- if ( false == token.empty() ) // BUGFIX: 2006-03-04
- {
- token_complete = true;
- }
-
- // don't add the delimiter to the token
- add_char = false;
- }
- }
-
- // ... if the delimiter is preserved - add it as a token
- bool add_delimiter = false;
- if ( false == delimiters_preserve.empty() && false == escaped &&
- false == quoted )
- {
- // if a delimiter which will be preserved is provided and the
- // char isn't protected by quote or escape char
- if ( string::npos != delimiters_preserve.find_first_of(ch) )
- {
- // if ch is a delimiter and the token string isn't empty
- // the token is complete
- if ( false == token.empty() ) // BUGFIX: 2006-03-04
- {
- token_complete = true;
- }
-
- // don't add the delimiter to the token
- add_char = false;
-
- // add the delimiter
- delimiter = ch;
- add_delimiter = true;
- }
- }
-
-
- // add the character to the token
- if ( true == add_char )
- {
- // add the current char
- token.push_back( ch );
- }
-
- // add the token if it is complete
- if ( true == token_complete && false == token.empty() )
- {
- // add the token string
- result.push_back( token );
-
- // clear the contents
- token.clear();
-
- // build the next token
- token_complete = false;
- }
-
- // add the delimiter
- if ( true == add_delimiter )
- {
- // the next token is the delimiter
- string delim_token;
- delim_token.push_back( delimiter );
- result.push_back( delim_token );
-
- // REMOVED: 2006-03-04, Bugfix
- }
-
- // repeat for the next character
- ++pos;
- } // while
-
- // add the final token
- if ( false == token.empty() )
- {
- result.push_back( token );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/public/tokenizer.h
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/public/tokenizer.h b/framework/ext-qnx/public/tokenizer.h
deleted file mode 100644
index 75f567c..0000000
--- a/framework/ext-qnx/public/tokenizer.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/************************************************************************
-The zlib/libpng License
-
-Copyright (c) 2006 Joerg Wiedenmann
-
-This software is provided 'as-is', without any express or implied warranty.
-In no event will the authors be held liable for any damages arising from
-the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented;
- you must not claim that you wrote the original software.
- If you use this software in a product, an acknowledgment
- in the product documentation would be appreciated but is
- not required.
-
-2. Altered source versions must be plainly marked as such,
- and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
-***********************************************************************/
-
-/********************************************************************
- created: 2006-01-28
- filename: tokenizer.cpp
- author: J�rg Wiedenmann
-
- purpose: A tokenizer function which provides a very
- customizable way of breaking up strings.
-*********************************************************************/
-
-#include <vector>
-#include <string>
-using namespace std;
-
-// Function to break up a string into tokens
-//
-// Parameters:
-//-----------
-// str = the input string that will be tokenized
-// result = the tokens for str
-// delimiters = the delimiter characters
-// delimiters preserve = same as above, but the delimiter characters
-// will be put into the result as a token
-// quote = characters to protect the enclosed characters
-// esc = characters to protect a single character
-//
-
-void tokenize ( const string& str, vector<string>& result,
- const string& delimiters, const string& delimiters_preserve = "",
- const string& quote = "\"", const string& esc = "\\" );
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/src/memory_js.cpp
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/src/memory_js.cpp b/framework/ext-qnx/src/memory_js.cpp
deleted file mode 100644
index 5862b11..0000000
--- a/framework/ext-qnx/src/memory_js.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
-* Copyright 2012 Research In Motion Limited.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#include <string>
-#include <sstream>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "memory_js.hpp"
-
-using namespace std;
-
-/**
- * Default constructor.
- */
-Memory::Memory(const std::string& id) : m_id(id) {
- m_thread = 0;
-}
-
-/**
- * Memory destructor.
- */
-Memory::~Memory() {
-}
-
-/**
- * This method returns the list of objects implemented by this native
- * extension.
- */
-char* onGetObjList() {
- static char name[] = "Memory";
- return name;
-}
-
-/**
- * This method is used by JNext to instantiate the Memory object when
- * an object is created on the JavaScript server side.
- */
-JSExt* onCreateObject(const string& className, const string& id) {
- if (className == "Memory") {
- return new Memory(id);
- }
-
- return NULL;
-}
-
-/**
- * Method used by JNext to determine if the object can be deleted.
- */
-bool Memory::CanDelete() {
- return true;
-}
-
-/**
- * It will be called from JNext JavaScript side with passed string.
- * This method implements the interface for the JavaScript to native binding
- * for invoking native code. This method is triggered when JNext.invoke is
- * called on the JavaScript side with this native objects id.
- */
-string Memory::InvokeMethod(const string& command) {
- // Determine which function should be executed
- if (command == "getMemoryNative") {
- return convertLongToString(getMemory());
- } else if (command == "monitorMemoryNative") {
- return MonitorMemoryNative();
- } else {
- return "Unsupported Method";
- }
-}
-
-/**
- * Thread that retrieves the current amount of free memory every second and
- * sends it to the JavaScript side using an event. The thread shall continue
- * to retrieve the memory usage until the native object is destroyed on the
- * JavaScript side.
- */
-void* MemoryThread(void* parent) {
- Memory *pParent = static_cast<Memory *>(parent);
-
- // Endless loop that collect memory information and send it to JNext JavaScript side
- while (true) {
- pParent->SendMemoryInfo();
- sleep(1);
- }
-
- return NULL;
-}
-
-/**
- * Method responsible for starting the thread to get memory usage. Only one
- * thread can be created per native JavaScript instance. This method returns
- * true if the thread was created successfully and false othrewise.
- */
-bool Memory::StartThread() {
- if (!m_thread) {
- pthread_attr_t thread_attr;
- pthread_attr_init(&thread_attr);
- pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
-
- pthread_create(&m_thread, &thread_attr, MemoryThread,
- static_cast<void *>(this));
- pthread_attr_destroy(&thread_attr);
- return true;
- } else {
- return false;
- }
-}
-
-/**
- * Method used to start the get memory usage thread. The method shall return a
- * string to the JavaScript side indicating whether or not the memory
- * monitoring was initialized.
- */
-string Memory::MonitorMemoryNative() {
- if (StartThread()) {
- return "Memory monitored";
- } else {
- return "Memory already being monitored";
- }
-}
-
-/**
- * Method used by the getMemoryUsage thread to pass the amount of free memory
- * on the JavaScript side by firing an event.
- */
-void Memory::SendMemoryInfo() {
- std::string eventString = "FreeMemory " + convertLongToString(getMemory());
- NotifyEvent(eventString);
-}
-
-// Notifies JavaScript of an event
-void Memory::NotifyEvent(const std::string& event) {
- std::string eventString = m_id + " ";
- eventString.append(event);
- SendPluginEvent(eventString.c_str(), m_pContext);
-}
-
-/**
- * Method that retreives the current free memory of OS.
- */
-long Memory::getMemory() {
- struct stat statbuf;
- paddr_t freemem;
-
- stat("/proc", &statbuf);
- freemem = (paddr_t) statbuf.st_size;
-
- return freemem;
-}
-
-/**
- * Utility function to convert a long into a string.
- */
-string Memory::convertLongToString(long l) {
- stringstream ss;
- ss << l;
- return ss.str();
-}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks/blob/feba03c3/framework/ext-qnx/src/memory_js.hpp
----------------------------------------------------------------------
diff --git a/framework/ext-qnx/src/memory_js.hpp b/framework/ext-qnx/src/memory_js.hpp
deleted file mode 100644
index e8a47a2..0000000
--- a/framework/ext-qnx/src/memory_js.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-* Copyright 2012 Research In Motion Limited.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-#ifndef MEMORY_JS_HPP_
-#define MEMORY_JS_HPP_
-
-#include <string>
-#include <pthread.h>
-#include "../public/plugin.h"
-
-class Memory: public JSExt {
-
-public:
- explicit Memory(const std::string& id);
- virtual ~Memory();
-
-// Interfaces of JSExt
- virtual bool CanDelete();
- virtual std::string InvokeMethod(const std::string& command);
-
-// Methods for the memory thread
- void SendMemoryInfo();
- void NotifyEvent(const std::string& event);
-
-private:
-// Utility functions relate to memory function
- long getMemory();
- string convertLongToString(long l);
-
-// Memory monitoring thread function
- string MonitorMemoryNative();
- bool StartThread();
-
- std::string m_id;
- pthread_t m_thread;
-};
-
-#endif /* MEMORY_JS_HPP_ */