00001 /*---------------------------------------------------------------------------* 00002 * Singleton.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 __SINGLETON_H__ 00021 #define __SINGLETON_H__ 00022 00023 #include "SmartProxy.h" 00024 00025 00029 namespace android 00030 { 00031 namespace speech 00032 { 00033 namespace recognition 00034 { 00035 class Singleton 00036 { 00037 protected: 00038 virtual ~Singleton() 00039 {} 00040 00046 virtual android::speech::recognition::SmartProxy::Root* getRoot() = 0; 00047 00053 virtual void shutdown(ReturnCode::Type& returnCode) = 0; 00054 00055 friend class System; 00056 }; 00057 } 00058 } 00059 } 00060 00061 #endif