|
taskrambler
0.1.9
Web server and task management solution.
|
Include dependency graph for class/interface/class.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | i_Class |
Macros | |
| #define | new(class, ...) classNew(_##class, ##__VA_ARGS__) |
| #define | delete(object) classDelete((void **)&(object)) |
| #define | clone(object) classClone((void *)(object)) |
| #define | newParams(class, args) classNewParams(_##class, args) |
Typedefs | |
| typedef int(* | fptr_ctor) (void *, va_list *) |
| typedef void(* | fptr_dtor) (void *) |
| typedef void(* | fptr_clone) (void *, void *const) |
Functions | |
| void * | classNew (class_ptr,...) |
| void | classDelete (void **) |
| void * | classClone (void *) |
| void * | classNewParams (class_ptr, va_list *) |
Variables | |
| const struct interface | i_Class |
Interface for class handling. Defines new, delete and clone selectors which in turn use the ctor, dtor and clone implementation from the class implementation.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file class/interface/class.h.
| struct i_Class |
Definition at line 40 of file class/interface/class.h.
Collaboration diagram for i_Class:| Data Fields | ||
|---|---|---|
| const struct interface *const | _ | |
| fptr_clone | clone | |
| fptr_ctor | ctor | |
| fptr_dtor | dtor | |
| #define clone | ( | object | ) | classClone((void *)(object)) |
Definition at line 53 of file class/interface/class.h.
Referenced by classClone(), serverHandleAccept(), uuidVersion3(), and uuidVersion5().
| #define delete | ( | object | ) | classDelete((void **)&(object)) |
Definition at line 52 of file class/interface/class.h.
Definition at line 51 of file class/interface/class.h.
| #define newParams | ( | class, | |
| args | |||
| ) | classNewParams(_##class, args) |
Definition at line 60 of file class/interface/class.h.
Referenced by authCreate().
| typedef void(* fptr_clone) (void *, void *const) |
Definition at line 36 of file class/interface/class.h.
| typedef int(* fptr_ctor) (void *, va_list *) |
Definition at line 34 of file class/interface/class.h.
| typedef void(* fptr_dtor) (void *) |
Definition at line 35 of file class/interface/class.h.
| void* classClone | ( | void * | ) |
Definition at line 85 of file i_class.c.
References CALL, clone, memCalloc(), and class_ptr::object_size.
Here is the call graph for this function:| void classDelete | ( | void ** | ) |
Definition at line 71 of file i_class.c.
References CALL, and MEM_FREE.
Referenced by classNewParams().
Here is the caller graph for this function:| void* classNew | ( | class_ptr | , |
| ... | |||
| ) |
Definition at line 58 of file i_class.c.
References classNewParams().
Here is the call graph for this function:| void* classNewParams | ( | class_ptr | , |
| va_list * | |||
| ) |
With this one we can create a new instance via a intermidiary that gets the arguments.
Definition at line 40 of file i_class.c.
References classDelete(), memCalloc(), class_ptr::object_size, and RETCALL.
Referenced by classNew().
Here is the call graph for this function:
Here is the caller graph for this function: