Line 1... |
Line 1... |
// $Id: RtclContext.hpp 368 2011-03-12 09:58:53Z mueller $
|
// $Id: RtclContext.hpp 380 2011-04-25 18:14:52Z mueller $
|
//
|
//
|
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
// Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
//
|
//
|
// This program is free software; you may redistribute and/or modify it under
|
// This program is free software; you may redistribute and/or modify it under
|
// the terms of the GNU General Public License as published by the Free
|
// the terms of the GNU General Public License as published by the Free
|
Line 11... |
Line 11... |
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// for complete details.
|
// for complete details.
|
//
|
//
|
// Revision History:
|
// Revision History:
|
// Date Rev Version Comment
|
// Date Rev Version Comment
|
|
// 2011-04-24 380 1.0.2 use boost::noncopyable (instead of private dcl's)
|
// 2011-03-12 368 1.0.1 drop fExitSeen, get exit handling right
|
// 2011-03-12 368 1.0.1 drop fExitSeen, get exit handling right
|
// 2011-02-18 362 1.0 Initial version
|
// 2011-02-18 362 1.0 Initial version
|
// 2011-02-18 362 0.1 First draft
|
// 2011-02-18 362 0.1 First draft
|
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
|
|
/*!
|
/*!
|
\file
|
\file
|
\version $Id: RtclContext.hpp 368 2011-03-12 09:58:53Z mueller $
|
\version $Id: RtclContext.hpp 380 2011-04-25 18:14:52Z mueller $
|
\brief Declaration of class RtclContext.
|
\brief Declaration of class RtclContext.
|
*/
|
*/
|
|
|
#ifndef included_Retro_RtclContext
|
#ifndef included_Retro_RtclContext
|
#define included_Retro_RtclContext 1
|
#define included_Retro_RtclContext 1
|
Line 31... |
Line 32... |
|
|
#include <string>
|
#include <string>
|
#include <set>
|
#include <set>
|
#include <map>
|
#include <map>
|
|
|
|
#include "boost/utility.hpp"
|
|
|
#include "RtclClassBase.hpp"
|
#include "RtclClassBase.hpp"
|
#include "RtclProxyBase.hpp"
|
#include "RtclProxyBase.hpp"
|
|
|
namespace Retro {
|
namespace Retro {
|
|
|
class RtclContext {
|
class RtclContext : private boost::noncopyable {
|
public:
|
public:
|
typedef std::set<RtclClassBase*> cset_t;
|
typedef std::set<RtclClassBase*> cset_t;
|
typedef cset_t::iterator cset_it_t;
|
typedef cset_t::iterator cset_it_t;
|
typedef std::set<RtclProxyBase*> pset_t;
|
typedef std::set<RtclProxyBase*> pset_t;
|
typedef pset_t::iterator pset_it_t;
|
typedef pset_t::iterator pset_it_t;
|
Line 71... |
Line 74... |
Tcl_Interp* fInterp; //!< associated tcl interpreter
|
Tcl_Interp* fInterp; //!< associated tcl interpreter
|
cset_t fSetClass; //!< set for Class objects
|
cset_t fSetClass; //!< set for Class objects
|
pset_t fSetProxy; //!< set for Proxy objects
|
pset_t fSetProxy; //!< set for Proxy objects
|
|
|
static xmap_t fMapContext; //!< map of contexts
|
static xmap_t fMapContext; //!< map of contexts
|
|
|
// RtclContext is not copy or assignable nor default constructable
|
|
private:
|
|
RtclContext();
|
|
RtclContext(const RtclContext& rhs);
|
|
RtclContext& operator=(const RtclContext& rhs);
|
|
};
|
};
|
|
|
} // end namespace Retro
|
} // end namespace Retro
|
|
|
#if !(defined(Retro_NoInline) || defined(Retro_RtclContext_NoInline))
|
#if !(defined(Retro_NoInline) || defined(Retro_RtclContext_NoInline))
|