MediaFileWriter.h

00001 /*---------------------------------------------------------------------------*
00002  *  MediaFileWriter.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__MEDIAFILEWRITER_
00021 #define __UAPI__MEDIAFILEWRITER_
00022 
00023 #include "exports.h"
00024 #include "ReturnCode.h"
00025 #include "SmartProxy.h"
00026 
00027 namespace android
00028 {
00029   namespace speech
00030   {
00031     namespace recognition
00032     {
00033       class MediaFileWriterListenerProxy;
00034       class AudioStreamProxy;
00035     }
00036   }
00037 }
00038 
00039 
00040 namespace android
00041 {
00042   namespace speech
00043   {
00044     namespace recognition
00045     {
00046       class MediaFileWriterProxy;
00050       class MediaFileWriter
00051       {
00052         public:
00060           UAPI_EXPORT static MediaFileWriterProxy create(MediaFileWriterListenerProxy& listener,
00061               ReturnCode::Type& returnCode);
00062               
00072           virtual void save(AudioStreamProxy& audio, const char* path, ReturnCode::Type& returnCode) = 0;
00073         protected:
00077           MediaFileWriter();
00081           virtual ~MediaFileWriter();
00082           
00083           friend class MediaFileWriterProxy;
00084       };
00085       
00089       DECLARE_SMARTPROXY(UAPI_EXPORT, MediaFileWriterProxy, SmartProxy, MediaFileWriter)
00090     }
00091   }
00092 }
00093 
00094 #endif

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