myxce/src/autoscaler/scaler/include/obj_mgr.h

38 lines
No EOL
1.7 KiB
C

#ifndef _OBJ_MGR_H_
#define _OBJ_MGR_H_
#include "scaler.h"
#define SC_PROVIDER "provider"
#define SC_TEMPLATE "template"
#define SC_REQUEST "request"
#define SC_INSTANCE "instance"
#define SC_DEMAND "demand"
extern int scaler_obj_mgr_init(scaler_obj_mgr_t*, zarray_item_killer_t);
extern void scaler_obj_mgr_fini(scaler_obj_mgr_t*);
extern int scaler_obj_mgr_count(scaler_obj_mgr_t*);
extern int provider_add(scaler_obj_mgr_t*, scaler_provider_t*);
extern scaler_provider_t* provider_get(scaler_obj_mgr_t*, char*);
extern int template_add(scaler_obj_mgr_t*, scaler_template_t*);
extern scaler_template_t* template_get(scaler_obj_mgr_t*, char*);
extern scaler_template_t* template_get_by_id(scaler_obj_mgr_t*,
scaler_template_id_t*);
extern int template_del(scaler_obj_mgr_t*, char*);
extern int template_cmp(const void* a, const void* b);
extern int merge_templates(scaler_obj_mgr_t*, scaler_obj_mgr_t*, char*);
extern int request_add(scaler_obj_mgr_t*, scaler_request_t*);
extern scaler_request_t* request_get(scaler_obj_mgr_t*, char*);
extern int request_update_status(scaler_obj_mgr_t*, char*, scaler_req_status_t,
time_t);
extern int request_del(scaler_obj_mgr_t*, char*);
extern int instance_add(scaler_obj_mgr_t*, scaler_instance_t*);
extern scaler_instance_t* instance_get(scaler_obj_mgr_t*, char*);
extern int instance_update_status(scaler_obj_mgr_t*, char*,
scaler_alloc_status_t, char*, char*);
extern int instance_del(scaler_obj_mgr_t*, char*);
#endif