javauis/javalegacyutils/inc/CJavaEventServer.h
changeset 76 4ad59aaee882
parent 69 773449708c84
child 79 2f468c1958d0
--- a/javauis/javalegacyutils/inc/CJavaEventServer.h	Thu Sep 02 20:20:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 1999-2001 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#ifndef CJAVAEVENTSERVER_H
-#define CJAVAEVENTSERVER_H
-
-#include <e32std.h>
-#include <e32cmn.h>
-
-#include "mevents.h"
-
-enum {EJessExecute,EJessExecuteTrap, EJessShutdown};
-
-class RJess : public RSessionBase
-{
-public:
-    TInt Connect(RServer2& aServer);
-    inline TInt Execute(TAny* aParam)
-    {
-        return SendReceive(EJessExecute,TIpcArgs(aParam));
-    }
-    inline TInt ExecuteTrap(TAny* aParam)
-    {
-        return SendReceive(EJessExecuteTrap,TIpcArgs(aParam));
-    }
-    inline TInt Shutdown()
-    {
-        return SendReceive(EJessShutdown, TIpcArgs());
-    }
-};
-
-class CJavaEventServer : public CBase
-{
-public:
-    ~CJavaEventServer();
-    static CJavaEventServer* NewL(const TDesC& aName,TThreadFunction aServerThread, TAny* aServerArg,
-                                  TUint aStackSize = 0, RAllocator* aHeap = 0);
-
-    // Notify Java dispatcher thread about new event, called from C++ thread
-    static void NotifyJavaCall(TInt aEvent, TInt aPriority);
-
-    // Cleanup the event server stuff, called from Java thread through JNI
-    static void Cleanup(RArray<TInt>& aServerHandles);
-
-    // Helper method to do tracing from the native to the Java side
-    static void Trace(JNIEnv& aJni, TInt aValue);
-
-    inline RJess& Session()
-    {
-        return iSession;
-    }
-    void PostEvent(CJavaEventBase* aEvent, TInt aPriority);
-    static TInt ServerThread(TAny* aParam);
-
-    void AddRef();
-    void RemoveRef();
-    void Shutdown();
-
-private:
-    CJavaEventServer();
-    void ConstructL(const TDesC& aUserName,TThreadFunction aServerThread, TAny* aServerArg,
-                    TUint aStackSize, RAllocator* aHeap);
-
-private:
-    TInt  iRef;
-    RJess iSession;
-    TBool iShutdown;
-    RCriticalSection iMutex;
-
-};
-
-// CIntQueue helper class implements an integer FIFO queue The implementation is based on
-// fixed-sized array, because we don't want any garbage to be collected here and we don't
-// want to grab all the memory due to some misbehaving midlet. Synchronization is provided
-// in putItem() and removeItem() functions so it's safe to call them from different threads
-
-class CIntQueue : public CBase
-{
-
-public:
-    virtual ~CIntQueue();
-
-    static CIntQueue* NewL();        // two-phased constructor
-    static CIntQueue* NewLC();       // two-phased constructor
-
-    void  Enqueue(TInt aValue);      // add integer to the end of the queue
-    TInt  Dequeue();                 // return integer from the beginning of the queue
-    TBool IsEmpty();                 // checks if there are any items in queue
-
-private:
-    void PutItem(TInt aItem);        // put new item to the buffer
-    TInt RemoveItem();               // take item from the buffer
-
-    CIntQueue();                     // default C++ constructor
-    void ConstructL();               // by default Symbian 2nd phase constructor is private
-
-private:
-    RArray<TInt>      iQueue;
-    RMutex            iMutex;        // protect a critical regions of code
-    RSemaphore        iFull;         // counts full buffer slots
-    TInt              iCompressCounter; // counts event dequeuing
-};
-
-// CEventLock implements queues for manipulating of event and notification handlers.
-
-class CEventQueue : public CBase
-{
-
-public:
-    virtual ~CEventQueue();
-
-    void NewEvent(TInt aEvent);
-    TInt GetNext();
-
-    static void NotifyServer(TInt aEvent, TInt aThreadNumber);
-    static void OnCloseThreads();
-
-    static void InitL();
-    static void Cleanup();
-
-    static CEventQueue* GetQueue(TInt aThread);
-    static const TInt KDispatchThreads = 2;      // two dispatching threads: events and notifications
-
-private:
-    CEventQueue();
-    void ConstructL();
-
-private:
-    CIntQueue* iEventQueue;                      // queue for storing event handles
-};
-
-// clean-up event server objects on vm exit
-void CleanupEventServer();
-// init event server objects on vm start
-void InitEventServer();
-
-#endif // CJAVAEVENTSERVER_H
-