AndroMeta  2.0.0
AndroMeta/include/AndroMeta/MMLSharedVar.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_MML_SHARED_VAR_H
00019 #define ANDROMETA_MML_SHARED_VAR_H
00020 
00021 #include <AndroMeta/MMLEntity.h>
00022 
00023 namespace Meta{
00024   
00033   class MMLSharedVar : public MMLEntity{
00034   public:
00035     
00041     MMLSharedVar(const mvar& v);
00042     
00046     MMLSharedVar();
00047     
00051     ~MMLSharedVar();
00052     
00056     mnode process(mnode n, uint32_t flags=0);
00057     
00061     mvar get();
00062     
00066     mvar get(const mvar& key);
00067     
00071     void merge(const mvar& v);
00072     
00076     void merge(const mvar& key, const mvar& v);
00077     
00081     void set(const mvar& v);
00082     
00086     void set(const mvar& key, const mvar& v);
00087     
00088   private:
00089     MMLSharedVar(const MMLSharedVar&);
00090     MMLSharedVar& operator=(const mvar& v);
00091     
00092     class MMLSharedVar_* x_;
00093   };
00094   
00095 } // end namespace Meta
00096 
00097 #endif // ANDROMETA_MML_SHARED_VAR_H
00098