taskrambler
0.1.8
Web server and task management solution.
|
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.
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.
void classDelete | ( | void ** | ) |
Definition at line 71 of file i_class.c.
References CALL, and MEM_FREE.
Referenced by classNewParams().
void* classNew | ( | class_ptr | , |
... | |||
) |
Definition at line 58 of file i_class.c.
References classNewParams().
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().