00001 /************************************************************************/ 00002 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */ 00003 /* 1993-2002, thereinafter the Software */ 00004 /* */ 00005 /* The Software has been developped within the Siames Project. */ 00006 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */ 00007 /* property rights */ 00008 /* */ 00009 /* The Software has been registered with the Agence pour la Protection */ 00010 /* des Programmes (APP) under registration number */ 00011 /* IDDN.FR.001.510008.00.S.P.2001.000.41200 */ 00012 /* */ 00013 /* This file may be distributed under the terms of the Q Public License */ 00014 /* version 1.0 as defined by Trolltech AS of Norway and appearing in */ 00015 /* the file LICENSE.QPL included in the packaging of this file. */ 00016 /* */ 00017 /* Licensees holding valid specific licenses issued by INRIA, CNRS or */ 00018 /* Universite Rennes 1 for the software may use this file in */ 00019 /* acordance with that specific license */ 00020 /************************************************************************/ 00021 #if !defined ACCESSIBLEPARAMETERPRM_H 00022 #define ACCESSIBLEPARAMETERPRM_H 00023 00024 #include "OMKControlTakeOverPrm.h" 00025 #include "OMKExtensibleSimulatedObject.h" 00026 #include "OMKName.h" 00027 #include <map> 00028 00029 namespace OMK 00030 { 00031 class OutgoingSynchronisationMessage ; 00032 class IncomingSynchronisationMessage ; 00033 class ConfigurationParameterDescriptor ; 00034 namespace Type 00035 { 00036 class AccessibleParameterPrm ; 00037 } 00039 template<> 00040 OMKIII_API bool ParametersAccessor::getValue< OMK::Type::AccessibleParameterPrm > 00041 ( const ConfigurationParameterDescriptor * nodeValue, 00042 OMK::Type::AccessibleParameterPrm& value, 00043 std::string& errorStr ) ; 00044 } 00047 OMKIII_API std::ostream& operator << ( std::ostream& out, const OMK::Type::AccessibleParameterPrm& a ) ; 00048 00051 OMKIII_API std::istream& operator >> ( std::istream& in, OMK::Type::AccessibleParameterPrm& a ) ; 00052 00055 OMKIII_API OMK::OutgoingSynchronisationMessage& operator << 00056 ( OMK::OutgoingSynchronisationMessage& out, const OMK::Type::AccessibleParameterPrm& a ) ; 00057 00060 OMKIII_API OMK::IncomingSynchronisationMessage& operator >> 00061 ( OMK::IncomingSynchronisationMessage& in, OMK::Type::AccessibleParameterPrm& a ) ; 00062 00063 00064 namespace OMK 00065 { 00066 namespace Iii 00067 { 00068 class IConnector ; 00069 } 00070 namespace Type 00071 { 00138 class OMKIII_API AccessibleParameterPrm 00139 { 00140 public: 00142 00143 00144 AccessibleParameterPrm(); 00146 AccessibleParameterPrm( const AccessibleParameterPrm& ref ) ; 00148 AccessibleParameterPrm( const OMK::Iii::IConnector* connector, 00149 const AccessGroup& accessGroup ) ; 00151 AccessibleParameterPrm( OMK::Name id, 00152 OMK::Name category, 00153 OMK::Name type, 00154 bool accessible, 00155 const std::map< OMK::Name, int >& levels, 00156 const std::list< OMK::Name >& toolsInUse ) ; 00158 virtual ~AccessibleParameterPrm() ; 00160 AccessibleParameterPrm& operator = ( const AccessibleParameterPrm& ref ) ; 00162 00164 00165 public: 00167 OMK::Name _id ; 00169 OMK::Name _category ; 00171 OMK::Name _type ; 00175 bool _accessible ; 00177 std::map< OMK::Name, int > _levels ; 00179 std::list< OMK::Name > _toolsInUse ; 00181 protected: 00183 void _copy( const AccessibleParameterPrm& q ) ; 00185 00186 00187 friend OMKIII_API bool operator != ( const AccessibleParameterPrm& a0, const AccessibleParameterPrm& a1 ) ; 00189 friend OMKIII_API bool operator == ( const AccessibleParameterPrm& a0, const AccessibleParameterPrm& a1 ) 00190 { return !( a0 != a1 ) ; } 00192 00194 friend class OMK::ParametersAccessor ; 00195 00197 00198 // stream operator for ostream. 00199 friend std::ostream& ::operator << ( std::ostream& out, const AccessibleParameterPrm& a ) ; 00200 00201 // stream operator for istream. 00202 friend std::istream& ::operator >> ( std::istream& in, AccessibleParameterPrm& a ) ; 00203 00204 // stream operator for OutgoingSynchronisationMessage. 00205 friend OMK::OutgoingSynchronisationMessage& ::operator << 00206 ( OMK::OutgoingSynchronisationMessage& out, const AccessibleParameterPrm& a ) ; 00207 00208 // stream operator for IncomingSynchronisationMessage. 00209 friend OMK::IncomingSynchronisationMessage& ::operator >> 00210 ( OMK::IncomingSynchronisationMessage& in, AccessibleParameterPrm& a ) ; 00212 } ; 00213 00214 //----------------------------------------------------------------------------- 00216 typedef OMK::Type::SimpleTypeT< AccessibleParameterPrm > AccessibleParameterPrmType ; 00217 00218 //----------------------------------------------------------------------------- 00219 00220 } //namespace Type 00221 00222 //======================================================================== 00224 template class OMKIII_API OMK::Type::SimpleTypeT< OMK::Type::AccessibleParameterPrmType > ; 00225 00226 }// namespace OMK 00227 00228 #endif // defined ACCESSIBLEPARAMETERPRM_H
Documentation generated on Mon Jun 9 11:45:55 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |