fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / Base / FieldContainer / Threading / OSGHardwareContextData.h
bloba0ad586b1a7d51f160f902ffd855591a78456c0a
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2003 by the OpenSG Forum *
6 * *
7 * www.opensg.org *
8 * *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
10 * *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13 * License *
14 * *
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
18 * *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
27 * *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30 * Changes *
31 * *
32 * *
33 * *
34 * *
35 * *
36 * *
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGHARDWARECONTEXTDATA_H_
40 #define _OSGHARDWARECONTEXTDATA_H_
41 #ifdef __sgi
42 #pragma once
43 #endif
45 #include "OSGMemoryObject.h"
47 OSG_BEGIN_NAMESPACE
49 class HardwareContext;
51 /*! \class HardwareContextData
52 Memory, simple reference counted memory object. Parent of
53 everything that should be shared, but must not be thread safe.
54 \ingroup GrpBaseMemoryObjectsBase
55 \ingroup GrpBaseHardwareContext
56 \ingroup GrpLibOSGBase
59 class OSG_BASE_DLLMAPPING HardwareContextData : public MemoryObject
62 /*========================== PUBLIC =================================*/
64 typedef MemoryObject Inherited;
66 public:
68 /*---------------------------------------------------------------------*/
69 /*! \name */
70 /*! \{ */
72 virtual void releaseResources(HardwareContext *pContext);
74 /*! \} */
75 /*========================= PROTECTED ===============================*/
77 protected:
79 /*---------------------------------------------------------------------*/
80 /*! \name Constructors */
81 /*! \{ */
83 HardwareContextData(void);
84 HardwareContextData(const HardwareContextData &source);
86 /*---------------------------------------------------------------------*/
87 /*! \name Destructor */
88 /*! \{ */
90 virtual ~HardwareContextData(void);
92 /*! \} */
93 /*---------------------------------------------------------------------*/
94 /*! \name Reference Counting */
95 /*! \{ */
97 /*! \} */
98 /*========================== PRIVATE ================================*/
100 private:
102 /*!\brief prohibit default function (move to 'public' if needed) */
103 void operator =(const HardwareContextData &source);
106 OSG_END_NAMESPACE
108 #include "OSGHardwareContextData.inl"
110 #endif /* _OSGHARDWARECONTEXTDATA_H_ */