gwenhywfar
4.12.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
gwenhywfar4
gwenhywfar
refptr.h
Go to the documentation of this file.
1
/***************************************************************************
2
$RCSfile$
3
-------------------
4
cvs : $Id$
5
begin : Sun Jan 25 2004
6
copyright : (C) 2004 by Martin Preuss
7
email : martin@libchipcard.de
8
9
***************************************************************************
10
* *
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU Lesser General Public *
13
* License as published by the Free Software Foundation; either *
14
* version 2.1 of the License, or (at your option) any later version. *
15
* *
16
* This library is distributed in the hope that it will be useful, *
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19
* Lesser General Public License for more details. *
20
* *
21
* You should have received a copy of the GNU Lesser General Public *
22
* License along with this library; if not, write to the Free Software *
23
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24
* MA 02111-1307 USA *
25
* *
26
***************************************************************************/
27
28
29
#ifndef GWEN_REFPTR_H
30
#define GWEN_REFPTR_H
31
32
33
#include <
gwenhywfar/types.h
>
34
#include <
gwenhywfar/gwenhywfarapi.h
>
35
36
37
#define GWEN_REFPTR_FLAGS_AUTODELETE 0x00000001
38
39
40
#ifdef __cplusplus
41
extern
"C"
{
42
#endif
43
44
typedef
struct
GWEN_REFPTR_INFO
GWEN_REFPTR_INFO
;
45
typedef
struct
GWEN_REFPTR
GWEN_REFPTR
;
46
47
55
63
64
69
GWENHYWFAR_API
70
GWEN_REFPTR
*
GWEN_RefPtr_new
(
void
*dp,
GWEN_REFPTR_INFO
*rpi);
71
GWENHYWFAR_API
72
GWEN_REFPTR
*
GWEN_RefPtr_dup
(
const
GWEN_REFPTR
*rp);
73
GWENHYWFAR_API
74
GWEN_REFPTR
*
GWEN_RefPtr_copy
(
const
GWEN_REFPTR
*rp);
75
GWENHYWFAR_API
76
void
GWEN_RefPtr_free
(
GWEN_REFPTR
*rp);
83
GWENHYWFAR_API
84
void
*
GWEN_RefPtr_GetData
(
const
GWEN_REFPTR
*rp);
85
GWENHYWFAR_API
86
void
GWEN_RefPtr_SetData
(
GWEN_REFPTR
*rp,
void
*dp,
GWEN_REFPTR_INFO
*rpi);
94
GWENHYWFAR_API
95
uint32_t
GWEN_RefPtr_GetFlags
(
const
GWEN_REFPTR
*rp);
96
GWENHYWFAR_API
97
void
GWEN_RefPtr_SetFlags
(
GWEN_REFPTR
*rp, uint32_t fl);
98
GWENHYWFAR_API
99
void
GWEN_RefPtr_AddFlags
(
GWEN_REFPTR
*rp, uint32_t fl);
100
GWENHYWFAR_API
101
void
GWEN_RefPtr_DelFlags
(
GWEN_REFPTR
*rp, uint32_t fl);
104
/* defgroup */
105
106
107
115
120
GWENHYWFAR_API
121
GWEN_REFPTR_INFO
*
GWEN_RefPtrInfo_new
(
void
);
122
GWENHYWFAR_API
123
void
GWEN_RefPtrInfo_free
(
GWEN_REFPTR_INFO
*rpi);
124
GWENHYWFAR_API
125
void
GWEN_RefPtrInfo_Attach
(
GWEN_REFPTR_INFO
*rpi);
136
GWENHYWFAR_API
137
uint32_t
GWEN_RefPtrInfo_GetFlags
(
const
GWEN_REFPTR_INFO
*rpi);
138
GWENHYWFAR_API
139
void
GWEN_RefPtrInfo_SetFlags
(
GWEN_REFPTR_INFO
*rpi, uint32_t fl);
140
GWENHYWFAR_API
141
void
GWEN_RefPtrInfo_AddFlags
(
GWEN_REFPTR_INFO
*rpi, uint32_t fl);
142
GWENHYWFAR_API
143
void
GWEN_RefPtrInfo_DelFlags
(
GWEN_REFPTR_INFO
*rpi, uint32_t fl);
151
typedef
void (*
GWEN_REFPTR_INFO_FREE_FN
)(
void
*dp);
152
typedef
void
* (*GWEN_REFPTR_INFO_DUP_FN)(
void
*dp);
160
GWENHYWFAR_API
161
void
GWEN_RefPtrInfo_SetFreeFn
(
GWEN_REFPTR_INFO
*rpi,
162
GWEN_REFPTR_INFO_FREE_FN
f);
163
GWENHYWFAR_API
164
void
GWEN_RefPtrInfo_SetDupFn
(
GWEN_REFPTR_INFO
*rpi,
165
GWEN_REFPTR_INFO_DUP_FN
f);
166
170
/* defgroup */
171
/* defgroup */
173
174
#ifdef __cplusplus
175
}
176
#endif
177
178
179
#endif
Generated on Thu Nov 13 2014 21:37:51 for gwenhywfar by
1.8.1.2