AndroMeta  2.0.0
AndroMeta/include/AndroMeta/MEmitter.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2009-2012 AndroMeta LLC. All rights reserved.
00003  *
00004  * AndroMeta LLC retains all intellectual property and proprietary 
00005  * rights to this software and related documentation and any modifications 
00006  * thereto.  Any use, reproduction, disclosure, or distribution of this 
00007  * software and related documentation without an express license agreement 
00008  * from AndroMeta LLC is strictly prohibited.
00009  * 
00010  */
00011 
00018 #ifndef ANDROMETA_M_EMITTER_H
00019 #define ANDROMETA_M_EMITTER_H
00020 
00021 #include <AndroMeta/MNode.h>
00022 
00023 namespace Meta{
00024   
00025   class MProcessor;
00026   
00035   class MEmitter{
00036   public:
00037     
00041     MEmitter();
00042     
00046     virtual ~MEmitter();
00047     
00052     void emitNode(mnode node, uint32_t flags=0);
00053     
00057     void addProcessor(MProcessor* processor);
00058     
00062     void removeProcessor(MProcessor* processor);
00063     
00067     void clearProcessors();
00068     
00069   private:
00070     MEmitter& operator=(const MEmitter&);
00071     MEmitter(const MEmitter&);
00072     
00073     class MEmitter_* x_;
00074   };
00075   
00076 } // end namespace Meta
00077 
00078 #endif // ANDROMETA_M_EMITTER_H
00079