00001 00002 /************************************************************************/ 00003 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */ 00004 /* 1993-2002, thereinafter the Software */ 00005 /* */ 00006 /* The Software has been developped within the Siames Project. */ 00007 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */ 00008 /* property rights */ 00009 /* */ 00010 /* The Software has been registered with the Agence pour la Protection */ 00011 /* des Programmes (APP) under registration number */ 00012 /* IDDN.FR.001.510008.00.S.P.2001.000.41200 */ 00013 /* */ 00014 /* This file may be distributed under the terms of the Q Public License */ 00015 /* version 1.0 as defined by Trolltech AS of Norway and appearing in */ 00016 /* the file LICENSE.QPL included in the packaging of this file. */ 00017 /* */ 00018 /* Licensees holding valid specific licenses issued by INRIA, CNRS or */ 00019 /* Universite Rennes 1 for the software may use this file in */ 00020 /* acordance with that specific license */ 00021 /************************************************************************/ 00022 00023 #if !defined OMK_III_INTERACTIVEEXTENSION_H 00024 #define OMK_III_INTERACTIVEEXTENSION_H 00025 00026 #include "OMKExtension.h" 00027 #include "OMKExtensibleSimulatedObject.h" 00028 #include "OMKConnectors.h" 00029 #include "OMKIAccessor.h" 00030 #include "OMKInteractiveEventId.h" 00031 00032 namespace OMK 00033 { 00034 namespace Iii 00035 { 00036 00104 class OMKIII_API InteractiveExtension 00105 : public ExtensionT< ExtensibleSimulatedObject > 00106 { 00107 public: 00110 DECLARE_EXTENSION_FACTORY( InteractiveExtension ) ; 00111 00112 protected: 00115 00116 00117 virtual bool loadExtensionParameters( const ConfigurationParameterDescriptor * node ) ; 00119 00121 00122 00123 virtual void preComputeParameters() ; 00125 virtual void postComputeParameters() ; 00127 00128 protected: 00129 EventListener * _getAccessibleParametersListener ; 00130 EventListener * _controlTakeOverAndGetCurrentValuesListener ; 00131 EventListener * _controlReleaseListener ; 00132 EventListener * _controlFreezeListener ; 00133 EventListener * _controlUnfreezeListener ; 00134 EventListener * _getCurrentValuesListener ; 00135 EventListener * _newValueAvailableListener ; 00149 virtual bool processGetAccessibleParameters( Type::GetAccessibleParametersEvent *event ) ; 00155 virtual bool processGetCurrentValues( Type::GetCurrentValuesEvent *event ) ; 00167 virtual bool processControlTakeOverAndGetCurrentValues( Type::TakeOverAndGetCurrentValuesEvent *event ) ; 00178 virtual bool processControlRelease( Event *event ) ; 00190 virtual bool processControlFreeze( Type::ControlFreezeEvent *event ) ; 00196 virtual bool processControlUnfreeze( Event *event ) ; 00202 virtual bool processNewValueAvailable( Type::NewValueAvailableEvent *event ) ; 00204 public: 00207 void addConnector( IConnector* connector, bool postComputing ) ; 00212 IConnector* getConnector( const Name& id ) ; 00213 00214 protected: 00215 typedef std::map< const Name, IConnector* > ConnectorsMap ; 00217 ConnectorsMap _connectors ; 00218 ConnectorsMap _preConnectors ; 00219 ConnectorsMap _postConnectors ; 00220 IAccessRule* _defaultAccessRule ; 00221 } ; 00222 00223 }// namespace Iii 00224 }// namespace OMK 00225 00226 #endif // defined OMK_III_INTERACTIVEEXTENSION_H
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |