speechsrv_plat/vas_api/inc/nssvascvasdbmgr.h
branchRCL_3
changeset 19 e36f3802f733
parent 0 bf1d17376201
equal deleted inserted replaced
18:cad71a31b7fc 19:e36f3802f733
       
     1 /*
       
     2 * Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  CNssVASDBMgr is the starting point to begin interaction with VAS. 
       
    15 *               The client must first create and Initialize the CNssVASDBMgr; then 
       
    16 *               request the ContextMgr, TagMgr, VASDBEventNotifier, or 
       
    17 *               TagSelectNotifier to begin using VAS services. 
       
    18 *
       
    19 */
       
    20 
       
    21 
       
    22 #ifndef CNSSVASDBMGR_H
       
    23 #define CNSSVASDBMGR_H
       
    24 
       
    25 
       
    26 // includes
       
    27 #include <e32def.h>
       
    28 #include <e32std.h>
       
    29 #include <e32base.h>
       
    30 
       
    31 #include "nssvascoreconstant.h"
       
    32 #include "nssvasmcontextmgr.h"
       
    33 #include "nssvasmtagmgr.h"
       
    34 #include "nssvasmvasdbeventnotifier.h"
       
    35 
       
    36 //FORWARD DECLARATIONS
       
    37 class CNssVASDBBuilder;
       
    38 class CNssVASDBEventNotifier;
       
    39 class CNssDBTagSelectNotifier;
       
    40 class MNssResetFactoryModelsClient;
       
    41 
       
    42 // CLASS DECLARATIONS
       
    43 /**
       
    44 *  CNssVASDBMgr is the entry point for VAS services. 
       
    45 *  It provides methods for creation of managers that
       
    46 *  provide the pertinent services.
       
    47 *  @lib NssVASApi.lib
       
    48 *  @since 2.8
       
    49 */
       
    50 class CNssVASDBMgr : public CBase
       
    51 {
       
    52 public:
       
    53    /**
       
    54    * 2 phase constructor
       
    55    * @param 
       
    56    * @return pointer to created CNssVASDBMgr
       
    57    */
       
    58    IMPORT_C static CNssVASDBMgr* NewL ();
       
    59 
       
    60    /**
       
    61    * 2 phase constructor
       
    62    * @param 
       
    63    * @return pointer to created CNssVASDBMgr
       
    64    */
       
    65    IMPORT_C static CNssVASDBMgr* NewLC ();
       
    66    
       
    67 	/**
       
    68    * Destructor.
       
    69    * @param 
       
    70    * @return
       
    71    */	
       
    72    ~CNssVASDBMgr();
       
    73    
       
    74 #ifdef __SIND_RD_BREAK_PHONEBOOK_COMPATIBILITY   
       
    75 	/**
       
    76    * Initializes VAS DB class attributes.
       
    77    * @since 3.2
       
    78    */
       
    79    IMPORT_C void InitializeL(); 
       
    80 #else
       
    81 	/**
       
    82    * Initializes VAS DB class attributes.
       
    83    * @since 2.0
       
    84    * @return Error code
       
    85    */
       
    86    IMPORT_C TInt InitializeL();
       
    87 #endif // __SIND_RD_BREAK_PHONEBOOK_COMPATIBILITY 
       
    88    
       
    89    /**
       
    90    * Gets the Context Manager.
       
    91    * @since 2.0
       
    92    * @param None
       
    93    * @return pointer to MNssContextMgr
       
    94    */	
       
    95    IMPORT_C MNssContextMgr* GetContextMgr();
       
    96    
       
    97    /**
       
    98    * Gets the Tag Manager.
       
    99    * @since 2.0
       
   100    * @param None
       
   101    * @return pointer to MNssTagMgr
       
   102    */	
       
   103    IMPORT_C MNssTagMgr* GetTagMgr();
       
   104    
       
   105    /**
       
   106    * Gets the Vas Db event notifier.
       
   107    * @since 2.0
       
   108    * @param None
       
   109    * @return pointer to MNssVASDBEventNotifier
       
   110    */    
       
   111    IMPORT_C MNssVASDBEventNotifier* GetVASDBEventNotifier();
       
   112 
       
   113 	/**
       
   114    * Gets the tag select notifier.
       
   115    * @since 2.0
       
   116    * @param None
       
   117    * @return pointer to MNssVASDBEventNotifier
       
   118    */    
       
   119    IMPORT_C CNssDBTagSelectNotifier* GetTagSelectNotifier();
       
   120 
       
   121    /**
       
   122    * Reset speaker-adapted models to speaker independent ones.
       
   123    * @since 2.0
       
   124    * @param None
       
   125    * @return None
       
   126    */
       
   127    IMPORT_C void ResetFactoryModelsL( MNssResetFactoryModelsClient* aClient );
       
   128 
       
   129 private:
       
   130 
       
   131 	/**
       
   132    * C++ constructor
       
   133    * @param 
       
   134    * @return 
       
   135    */    
       
   136 	CNssVASDBMgr();
       
   137 
       
   138 	/**
       
   139    * EPOC constructor
       
   140    * @param 
       
   141    * @return 
       
   142    */    
       
   143 	void ConstructL ();
       
   144 
       
   145 private:
       
   146 	// owns the VAS DB Builder
       
   147 	CNssVASDBBuilder *iVasDBBuilder;
       
   148 
       
   149 
       
   150 };
       
   151 #endif