OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [tools/] [src/] [librtcltools/] [RtclProxyOwned.hpp] - Blame information for rev 19

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 19 wfjm
// $Id: RtclProxyOwned.hpp 490 2013-02-22 18:43:26Z mueller $
2 10 wfjm
//
3 19 wfjm
// Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4 10 wfjm
//
5
// This program is free software; you may redistribute and/or modify it under
6
// the terms of the GNU General Public License as published by the Free
7
// Software Foundation, either version 2, or at your option any later version.
8
//
9
// This program is distributed in the hope that it will be useful, but
10
// WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
// for complete details.
13
// 
14
// Revision History: 
15
// Date         Rev Version  Comment
16 19 wfjm
// 2013-02-05   482   1.1    use shared_ptr to TO*; add ObjPtr();
17 10 wfjm
// 2011-02-13   361   1.0    Initial version
18
// 2011-02-11   360   0.1    First draft
19
// ---------------------------------------------------------------------------
20
 
21
/*!
22
  \file
23 19 wfjm
  \version $Id: RtclProxyOwned.hpp 490 2013-02-22 18:43:26Z mueller $
24 10 wfjm
  \brief   Declaration of class RtclProxyOwned.
25
*/
26
 
27 19 wfjm
#ifndef included_Retro_RtclProxyOwned 
28 10 wfjm
#define included_Retro_RtclProxyOwned 1
29
 
30 19 wfjm
#include "boost/shared_ptr.hpp"
31
 
32 10 wfjm
#include "RtclProxyBase.hpp"
33
 
34
namespace Retro {
35
 
36
  template <class TO>
37
  class RtclProxyOwned : public RtclProxyBase {
38
    public:
39
                    RtclProxyOwned();
40
                    RtclProxyOwned(const std::string& type);
41
                    RtclProxyOwned(const std::string& type, Tcl_Interp* interp,
42
                                   const char* name, TO* pobj=0);
43 19 wfjm
                   ~RtclProxyOwned();
44 10 wfjm
 
45
      TO&           Obj();
46 19 wfjm
      const boost::shared_ptr<TO>& ObjSPtr();
47 10 wfjm
 
48
    protected:
49 19 wfjm
      boost::shared_ptr<TO>  fspObj;        //!< sptr to managed object
50 10 wfjm
 
51
  };
52
 
53
} // end namespace Retro
54
 
55
// implementation is all inline
56
#include "RtclProxyOwned.ipp"
57
 
58
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.