+ /*!
+ * Servant activated by a specific POA (single thread) having itself its specific POA_manager.
+ * This class is able to hold/active the default POA_manager shared by other POA than this.
+ */
+ class SALOMESDS_EXPORT RequestSwitcher : public RequestSwitcherBase, public virtual POA_SALOME::RequestSwitcher
+ {
+ public:
+ RequestSwitcher(CORBA::ORB_ptr orb, DataScopeServerTransaction *ds);
+ SALOME::StringVec *listVars();
+ SALOME::ByteVec *fetchSerializedContent(const char *varName);
+ void fetchAndGetAccessOfVar(const char *varName, CORBA::String_out access, SALOME::ByteVec_out data);
+ private:
+ //! handle on its creator to give access to services when _poa_manager_under_control is in hold mode.
+ DataScopeServerTransaction *_ds;
+ };
+