OMKAccessibleParameterPrm.h

Go to the documentation of this file.
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

logo OpenMask

Documentation generated on Mon Jun 9 11:45:55 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007