2
* $Id: gen_library.h,v 1.2 2007/03/26 02:10:22 campbellbarton Exp $
4
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version. The Blender
10
* Foundation also sells licenses for use in proprietary software under
11
* the Blender License. See http://www.blender.org/BL/ for information
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software Foundation,
21
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24
* All rights reserved.
26
* This is a new part of Blender.
28
* Contributor(s): Michel Selten, Willian P. Germano, Alex Mole, Joseph Gilbert
30
* ***** END GPL/BL DUAL LICENSE BLOCK *****
33
#ifndef EXPP_gen_library_h
34
#define EXPP_gen_library_h
39
#include "DNA_listBase.h"
41
/* ID functions for all libdata */
42
#define GENERIC_LIB_GETSETATTR \
44
(getter)GenericLib_getName, (setter)GenericLib_setName,\
48
(getter)GenericLib_getLib, (setter)NULL,\
49
"external library path",\
52
(getter)GenericLib_getUsers, (setter)NULL,\
56
(getter)GenericLib_getFakeUser, (setter)GenericLib_setFakeUser,\
60
(getter)GenericLib_getProperties, (setter)NULL,\
64
(getter)GenericLib_getTag, (setter)GenericLib_setTag,\
68
/* Dummy struct for getting the ID from a libdata BPyObject */
70
PyObject_HEAD /* required python macro */
74
int GenericLib_setName( void *self, PyObject *value );
75
PyObject *GenericLib_getName( void *self );
76
PyObject *GenericLib_getFakeUser( void *self );
77
int GenericLib_setFakeUser( void *self, PyObject *value );
78
PyObject *GenericLib_getTag( void *self );
79
int GenericLib_setTag( void *self, PyObject *value );
80
PyObject *GenericLib_getLib( void *self );
81
PyObject *GenericLib_getUsers( void *self );
82
PyObject *GenericLib_getProperties( void *self );
84
/* use this for oldstyle somedata.getName("name") */
85
PyObject * GenericLib_setName_with_method( void *self, PyObject *value );
87
int GenericLib_assignData(PyObject *value, void **data, void **ndata, short refcount, short type, short subtype);
88
short GenericLib_getType(PyObject * pydata);
90
/* Other ID functions */
91
ID *GetIdFromList( ListBase * list, char *name );
92
PyObject *GetPyObjectFromID( ID * id );
93
long GenericLib_hash(PyObject * pydata);
94
#endif /* EXPP_gen_library_h */