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 <tim....@nitobi.com>
Authored: Tue Oct 23 15:53:29 2012 -0700
Committer: Tim Kim <tim....@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_ */

Reply via email to