SrecGrammar.h

00001 /*---------------------------------------------------------------------------*
00002  *  SrecGrammar.h                                                            *
00003  *                                                                           *
00004  *  Copyright 2007 Nuance Communciations, Inc.                               *
00005  *                                                                           *
00006  *  Licensed under the Apache License, Version 2.0 (the 'License');          *
00007  *  you may not use this file except in compliance with the License.         *
00008  *                                                                           *
00009  *  You may obtain a copy of the License at                                  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0                           *
00011  *                                                                           *
00012  *  Unless required by applicable law or agreed to in writing, software      *
00013  *  distributed under the License is distributed on an 'AS IS' BASIS,        *
00014  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
00015  *  See the License for the specific language governing permissions and      *
00016  *  limitations under the License.                                           *
00017  *                                                                           *
00018  *---------------------------------------------------------------------------*/
00019 
00020 #ifndef __UAPI__SRECGRAMMAR
00021 #define __UAPI__SRECGRAMMAR
00022 
00023 #include "exports.h"
00024 #include "EmbeddedGrammar.h"
00025 
00026 namespace android
00027 {
00028   namespace speech
00029   {
00030     namespace recognition
00031     {
00032       class SlotItemProxy;
00033     }
00034   }
00035 }
00036 
00037 
00038 namespace android
00039 {
00040   namespace speech
00041   {
00042     namespace recognition
00043     {
00044       class SrecGrammarProxy;
00045       
00051       class SrecGrammar: public EmbeddedGrammar
00052       {
00053         public:
00067           UAPI_EXPORT virtual void addItem(const char* slotName, const SlotItemProxy& item,
00068                                            int weight, const char* semanticMeaning,
00069                                            ReturnCode::Type& returnCode) = 0;
00070 
00081            UAPI_EXPORT virtual void addItemList(const char* slotName, 
00082                                             SlotItemProxy** items,
00083                                             int* weights,
00084                                             const char** semanticMeanings,
00085                                             ARRAY_LIMIT itemsCount,
00086                                             ReturnCode::Type& returnCode) = 0;
00087 
00088         protected:
00092           UAPI_EXPORT SrecGrammar();
00096           UAPI_EXPORT virtual ~SrecGrammar();
00097           
00098           friend class SrecGrammarProxy;
00099       };
00100       
00101       /*
00102        * @see android::speech::recognition::SmartProxy
00103        */
00104       DECLARE_SMARTPROXY(UAPI_EXPORT, SrecGrammarProxy, EmbeddedGrammarProxy, SrecGrammar)
00105     }
00106   }
00107 }
00108 
00109 #endif

Generated on Thu May 1 17:16:37 2008 for UAPI by  doxygen 1.5.3