static void download_file(json_object *obj) { json_object *child; char *oid, *filename, *desc; LargeByteString *lbs; filename = ""; desc = ""; if (!json_object_object_get_ex(obj, "object_id", &child)) { return; } oid = (char *)json_object_get_string(child); if (json_object_object_get_ex(obj, "filename", &child)) { filename = (char *)json_object_get_string(child); } if (json_object_object_get_ex(obj, "description", &child)) { desc = (char *)json_object_get_string(child); } if (oid == NULL || strlen(oid) <= 0) { return; } Info("misc filename:%s description:%s oid:%s", filename, desc, oid); setenv("GLPUSH_OID", oid, 1); lbs = REST_GetBLOB_via_ENV(); ShowDownloadDialog(filename, desc, lbs); FreeLBS(lbs); }
static void FreeSessionData( SessionData *data) { ENTER_FUNC; if (data->type != SESSION_TYPE_API) { MessageLogPrintf("[%s@%s] session end",data->hdr->user,data->hdr->uuid); } if (data->linkdata != NULL) { FreeLBS(data->linkdata); } xfree(data->hdr); g_hash_table_foreach_remove(data->spadata,(GHRFunc)FreeSpa,NULL); g_hash_table_destroy(data->spadata); g_hash_table_foreach_remove(data->scrpool,(GHRFunc)FreeScr,NULL); g_hash_table_destroy(data->scrpool); xfree(data->scrdata); FreeLBS(data->apidata->rec); xfree(data->apidata); FreeValueStruct(data->sysdbval); xfree(data); LEAVE_FUNC; }
static guint FreeScr( char *name, LargeByteString *scr, void *dummy) { if (name != NULL) { xfree(name); } if (scr != NULL) { FreeLBS(scr); } return TRUE; }
static guint FreeSpa( char *name, LargeByteString *spa, void *dummy) { if (name != NULL) { xfree(name); } if (spa != NULL) { FreeLBS(spa); } return TRUE; }
PacketClass SYSDB_GetDataAll(NETFILE *fp, int *size, ValueStruct *vals) { PacketClass rc; LargeByteString *buf; rc = SESSION_CONTROL_NG; buf = NewLBS(); SendPacketClass(fp, SYSDATA_SYSDB); ON_IO_ERROR(fp, badio); SendPacketClass(fp, SYSDB_GET_DATA_ALL); ON_IO_ERROR(fp, badio); rc = RecvPacketClass(fp); *size = RecvInt(fp); RecvLBS(fp, buf); NativeUnPackValue(NULL, LBS_Body(buf), vals); badio: FreeLBS(buf); return rc; }
static ValueStruct * _DBDISCONNECT( DBG_Struct *dbg, DBCOMM_CTRL *ctrl) { ENTER_FUNC; if ( dbg->process[PROCESS_UPDATE].dbstatus == DB_STATUS_CONNECT ) { CloseDB_RedirectPort(dbg); FreeLBS((LargeByteString *)dbg->process[PROCESS_UPDATE].conn); dbg->process[PROCESS_UPDATE].dbstatus = DB_STATUS_DISCONNECT; if ( ctrl != NULL ) { ctrl->rc = MCP_OK; } } LEAVE_FUNC; return (NULL); }
extern void CloseDB_RedirectPort( DBG_Struct *dbg) { ENTER_FUNC; if ( dbg->redirect == NULL ) return; if ( dbg->fpLog != NULL ) { SendPacketClass(dbg->fpLog,RED_END); CloseNet(dbg->fpLog); dbg->fpLog = NULL; } if ( dbg->redirectData != NULL ) { FreeLBS(dbg->redirectData); dbg->redirectData = NULL; } LEAVE_FUNC; }
static void print_report(json_object *obj) { json_object *child; char *title, *printer, *oid; gboolean showdialog; LargeByteString *lbs; printer = ""; title = ""; showdialog = FALSE; if (!json_object_object_get_ex(obj, "object_id", &child)) { return; } oid = (char *)json_object_get_string(child); if (json_object_object_get_ex(obj, "printer", &child)) { printer = (char *)json_object_get_string(child); } if (json_object_object_get_ex(obj, "title", &child)) { title = (char *)json_object_get_string(child); } if (json_object_object_get_ex(obj, "showdialog", &child)) { showdialog = json_object_get_boolean(child); } if (oid == NULL || strlen(oid) <= 0) { return; } if (printer == NULL || strlen(printer) <= 0) { showdialog = TRUE; } Info("report title:%s printer:%s showdialog:%d oid:%s", title, printer, (int)showdialog, oid); setenv("GLPUSH_OID", oid, 1); lbs = REST_GetBLOB_via_ENV(); if (showdialog) { ShowPrintDialog(title, lbs); } else { Print(oid, title, printer, lbs); } FreeLBS(lbs); }
static PacketClass SYSDB_RequestCommon(NETFILE *fp, PacketClass pc, ValueStruct *val) { PacketClass rc; LargeByteString *buf; rc = SESSION_CONTROL_NG; buf = NewLBS(); LBS_ReserveSize(buf, NativeSizeValue(NULL, val), FALSE); NativePackValue(NULL, LBS_Body(buf), val); SendPacketClass(fp, SYSDATA_SYSDB); ON_IO_ERROR(fp, badio); SendPacketClass(fp, pc); ON_IO_ERROR(fp, badio); SendLBS(fp, buf); ON_IO_ERROR(fp, badio); rc = RecvPacketClass(fp); RecvLBS(fp, buf); NativeUnPackValue(NULL, LBS_Body(buf), val); badio: FreeLBS(buf); return rc; }