-
Notifications
You must be signed in to change notification settings - Fork 0
/
DeployUnit.h
61 lines (55 loc) · 2.35 KB
/
DeployUnit.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef H_DeployUnit
#define H_DeployUnit
#include "hashmap.h"
typedef struct _DeployUnit DeployUnit;
typedef struct _NamedElement NamedElement;
typedef struct _Visitor Visitor;
typedef char* (*fptrDepUnitMetaClassName)(DeployUnit*);
typedef char* (*fptrDepUnitInternalGetKey)(DeployUnit*);
typedef void (*fptrDepUnitAddRequiredLibs)(DeployUnit*, DeployUnit*);
typedef void (*fptrDepUnitRemoveRequiredLibs)(DeployUnit*, DeployUnit*);
typedef DeployUnit* (*fptrDepUnitFindRequiredLibsByID)(DeployUnit*, char*);
typedef void (*fptrDeleteDepUnit)(DeployUnit*);
typedef void (*fptrVisitAttrDeployUnit)(void*, char*, Visitor*, bool);
typedef void (*fptrVisitRefsDeployUnit)(void*, char*, Visitor*);
typedef void* (*fptrFindByPathDeployUnit)(char*, DeployUnit*);
typedef struct _DeployUnit {
void *pDerivedObj;
char *eContainer;
char *path;
map_t refs;
fptrKMFMetaClassName metaClassName;
fptrKMFInternalGetKey internalGetKey;
fptrVisitAttr VisitAttributes;
fptrVisitAttr VisitPathAttributes;
fptrVisitRefs VisitReferences;
fptrVisitRefs VisitPathReferences;
fptrFindByPath FindByPath;
fptrDelete Delete;
NamedElement* super;
char *groupName;
char *version;
char *url;
char *hashcode;
char *type;
char *internalKey;
map_t requiredLibs;
fptrDepUnitAddRequiredLibs AddRequiredLibs;
fptrDepUnitRemoveRequiredLibs RemoveRequiredLibs;
fptrDepUnitFindRequiredLibsByID FindRequiredLibsByID;
} DeployUnit;
NamedElement* newPoly_DeployUnit(void);
DeployUnit* new_DeployUnit(void);
char* DeployUnit_metaClassName(void* const this);
char* DeployUnit_internalGetKey(void* const this);
void DeployUnit_AddRequiredLibs(DeployUnit* const this, DeployUnit* ptr);
void DeployUnit_RemoveRequiredLibs(DeployUnit* const this, DeployUnit* ptr);
DeployUnit* DeployUnit_FindRequiredLibsByID(DeployUnit* const this, char* id);
void deletePoly_DeployUnit(void* const this);
void delete_DeployUnit(void* const this);
void DeployUnit_VisitAttributes(void* const this, char* parent, Visitor* visitor, bool recursive);
void DeployUnit_VisitPathAttributes(void* const this, char* parent, Visitor* visitor, bool recursive);
void DeployUnit_VisitReferences(void* const this, char* parent, Visitor* visitor, bool recursive);
void DeployUnit_VisitPathReferences(void* const this, char* parent, Visitor* visitor, bool recursive);
void* DeployUnit_FindByPath(char* attribute, void* const this);
#endif /* H_DeployUnit */