connectivitylayer/isce/isaaccessextension_dll/inc/isaaccessextension.h
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 0 63b37f68c1ce
permissions -rw-r--r--
modemadaptation release 2010wk40

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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 INC_DISAACCESSEXTENSION_H
#define INC_DISAACCESSEXTENSION_H

#include "internalapi.h"        // For MIAD2ISTApi, MChannel2IADApi

class DRouter;
class TDfcQueue;

enum TIADDfcThread
{
    EIADLddDfcQueue = 0,
    EIADExtensionDfcQueue,
    EIADSizeOfDfcThreadList
};


/*
* Rules:
*         
*        All functions must be called in kernel thread context: TODO: check-macro for this.
*
*
*/
NONSHARABLE_CLASS( DIsaAccessExtension ) : public DBase
    {
    
  public:
  
    DIsaAccessExtension();
    
    ~DIsaAccessExtension();
    
    IMPORT_C static MChannel2IADApi* GetChannel2IADApi();

    IMPORT_C static TDfcQue* GetDFCThread( TIADDfcThread aDfcThread );

    static DRouter* GetRouter(){ return iRouter; };

  private:
  
      // owned
    static DRouter*     iRouter;
    // Keeps list of DFC queue's created in this extension
    static TDfcQue*     iDfcQueueList[ EIADSizeOfDfcThreadList ];
     
    };



#endif /* INC_DISAACCESSEXTENSION_H */