void ecom_MS_TaskSched_lib::ITaskScheduler_impl_proxy::ccom_new_work_item( /* [in] */ EIF_OBJECT pwsz_task_name, /* [in] */ GUID * rclsid, /* [in] */ GUID * a_riid, /* [out] */ EIF_OBJECT pp_unk ) /*----------------------------------------------------------- Allocates space for a new task and retrieves its address. -----------------------------------------------------------*/ { HRESULT hr; if (p_ITaskScheduler == NULL) { hr = p_unknown->QueryInterface (IID_ITaskScheduler_, (void **)&p_ITaskScheduler); rt.ccom_check_hresult (hr); }; LPWSTR tmp_pwsz_task_name = 0; tmp_pwsz_task_name = (LPWSTR)rt_ec.ccom_ec_lpwstr (eif_access (pwsz_task_name), NULL); IUnknown * * tmp_pp_unk = 0; tmp_pp_unk = (IUnknown * *)grt_ec_mstask_modified_idl_c.ccom_ec_pointed_cell_59 (eif_access (pp_unk), NULL); EIF_ENTER_C; hr = p_ITaskScheduler->NewWorkItem(tmp_pwsz_task_name,rclsid,a_riid,tmp_pp_unk); EIF_EXIT_C; rt.ccom_check_hresult (hr); grt_ce_mstask_modified_idl_c.ccom_ce_pointed_cell_59 ((IUnknown * *)tmp_pp_unk, pp_unk); grt_ce_mstask_modified_idl_c.ccom_free_memory_pointed_59 (tmp_pp_unk); };
void ecom_MS_TaskSched_lib::ITaskScheduler_impl_proxy::ccom_activate( /* [in] */ EIF_OBJECT pwsz_name, /* [in] */ GUID * a_riid, /* [out] */ EIF_OBJECT pp_unk ) /*----------------------------------------------------------- Returns an active interface to the specified task. -----------------------------------------------------------*/ { HRESULT hr; if (p_ITaskScheduler == NULL) { hr = p_unknown->QueryInterface (IID_ITaskScheduler_, (void **)&p_ITaskScheduler); rt.ccom_check_hresult (hr); }; LPWSTR tmp_pwsz_name = 0; tmp_pwsz_name = (LPWSTR)rt_ec.ccom_ec_lpwstr (eif_access (pwsz_name), NULL); IUnknown * * tmp_pp_unk = 0; tmp_pp_unk = (IUnknown * *)grt_ec_mstask_modified_idl_c.ccom_ec_pointed_cell_58 (eif_access (pp_unk), NULL); EIF_ENTER_C; hr = p_ITaskScheduler->Activate(tmp_pwsz_name,a_riid,tmp_pp_unk); EIF_EXIT_C; rt.ccom_check_hresult (hr); grt_ce_mstask_modified_idl_c.ccom_ce_pointed_cell_58 ((IUnknown * *)tmp_pp_unk, pp_unk); grt_ce_mstask_modified_idl_c.ccom_free_memory_pointed_58 (tmp_pp_unk); };
gint c_gdk_input_add_full (gint s_fd, GdkInputCondition condition, EIF_OBJ object, EIF_PROC func, EIF_PROC destruct, callback_data **p) { callback_data *cbd; eif_freeze (object); /* Allocate data for two callback blocks */ cbd = (callback_data *)g_malloc (2 * sizeof (callback_data)); *p = cbd; cbd->rtn = func; cbd->obj = eif_access (object); /* descriptor destruction callback */ cbd++; cbd->rtn = destruct; cbd->obj = eif_access (object); return (gdk_input_add_full (s_fd, condition, c_gdk_input_function, cbd, c_gdk_destroy_notify)); }
void ecom_control_library::IOleUndoUnit_impl_proxy::ccom_get_unit_type( /* [out] */ GUID * p_clsid, /* [out] */ EIF_OBJECT pl_id ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleUndoUnit == NULL) { hr = p_unknown->QueryInterface (IID_IOleUndoUnit_, (void **)&p_IOleUndoUnit); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; LONG * tmp_pl_id = 0; tmp_pl_id = (LONG *)rt_ec.ccom_ec_pointed_long (eif_access (pl_id), NULL); hr = p_IOleUndoUnit->GetUnitType(p_clsid,tmp_pl_id); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_long ((LONG *)tmp_pl_id, pl_id); grt_ce_control_interfaces2.ccom_free_memory_pointed_168 (tmp_pl_id); };
void ecom_control_library::IOleCache_impl_proxy::ccom_cache( /* [in] */ ecom_control_library::tagFORMATETC * p_formatetc, /* [in] */ EIF_INTEGER advf, /* [out] */ EIF_OBJECT pdw_connection ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleCache == NULL) { hr = p_unknown->QueryInterface (IID_IOleCache_, (void **)&p_IOleCache); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG tmp_advf = 0; tmp_advf = (ULONG)advf; ULONG * tmp_pdw_connection = 0; tmp_pdw_connection = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (pdw_connection), NULL); hr = p_IOleCache->Cache((struct tagFORMATETC *)p_formatetc, tmp_advf, tmp_pdw_connection); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_pdw_connection, pdw_connection); grt_ce_control_interfaces2.ccom_free_memory_pointed_185 (tmp_pdw_connection); };
void ecom_control_library::IPersistMemory_impl_proxy::ccom_get_size_max( /* [out] */ EIF_OBJECT pcb_size ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IPersistMemory == NULL) { hr = p_unknown->QueryInterface (IID_IPersistMemory_, (void **)&p_IPersistMemory); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG * tmp_pcb_size = 0; tmp_pcb_size = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (pcb_size), NULL); hr = p_IPersistMemory->GetSizeMax(tmp_pcb_size); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_pcb_size, pcb_size); grt_ce_control_interfaces2.ccom_free_memory_pointed_263 (tmp_pcb_size); };
void ecom_control_library::IOleUndoManager_impl_proxy::ccom_get_last_redo_description( /* [out] */ EIF_OBJECT p_bstr ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleUndoManager == NULL) { hr = p_unknown->QueryInterface (IID_IOleUndoManager_, (void **)&p_IOleUndoManager); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; BSTR * tmp_p_bstr = 0; tmp_p_bstr = (BSTR *)grt_ec_control_interfaces2.ccom_ec_pointed_cell_173 (eif_access (p_bstr), NULL); hr = p_IOleUndoManager->GetLastRedoDescription(tmp_p_bstr); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; grt_ce_control_interfaces2.ccom_ce_pointed_cell_173 ((BSTR *)tmp_p_bstr, p_bstr); grt_ce_control_interfaces2.ccom_free_memory_pointed_173 (tmp_p_bstr); };
void ecom_control_library::IOleUndoManager_impl_proxy::ccom_get_open_parent_state( /* [out] */ EIF_OBJECT pdw_state ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleUndoManager == NULL) { hr = p_unknown->QueryInterface (IID_IOleUndoManager_, (void **)&p_IOleUndoManager); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG * tmp_pdw_state = 0; tmp_pdw_state = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (pdw_state), NULL); hr = p_IOleUndoManager->GetOpenParentState(tmp_pdw_state); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_pdw_state, pdw_state); grt_ce_control_interfaces2.ccom_free_memory_pointed_171 (tmp_pdw_state); };
void ecom_control_library::IEnumOLEVERB_impl_proxy::ccom_next( /* [in] */ EIF_INTEGER celt, /* [out] */ ecom_control_library::tagOLEVERB * rgelt, /* [out] */ EIF_OBJECT pcelt_fetched ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IEnumOLEVERB == NULL) { hr = p_unknown->QueryInterface (IID_IEnumOLEVERB_, (void **)&p_IEnumOLEVERB); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG tmp_celt = 0; tmp_celt = (ULONG)celt; ULONG * tmp_pcelt_fetched = 0; tmp_pcelt_fetched = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (pcelt_fetched), NULL); hr = p_IEnumOLEVERB->Next(tmp_celt, (struct tagOLEVERB *)rgelt, tmp_pcelt_fetched); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_pcelt_fetched, pcelt_fetched); grt_ce_control_interfaces2.ccom_free_memory_pointed_177 (tmp_pcelt_fetched); };
void ecom_control_library::IOleCommandTarget_impl_proxy::ccom_query_status( /* [in] */ GUID * pguid_cmd_group, /* [in] */ EIF_INTEGER c_cmds, /* [in, out] */ EIF_OBJECT prg_cmds, /* [in, out] */ ecom_control_library::_tagOLECMDTEXT * p_cmd_text ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleCommandTarget == NULL) { hr = p_unknown->QueryInterface (IID_IOleCommandTarget_, (void **)&p_IOleCommandTarget); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG tmp_c_cmds = 0; tmp_c_cmds = (ULONG)c_cmds; OLECMD * tmp_prg_cmds = (OLECMD *) CoTaskMemAlloc (c_cmds * (sizeof (OLECMD))); grt_ec_control_interfaces2.ccom_ec_array_olecmd (eif_access (prg_cmds), tmp_prg_cmds); hr = p_IOleCommandTarget->QueryStatus(pguid_cmd_group, tmp_c_cmds, tmp_prg_cmds, (OLECMDTEXT *)p_cmd_text); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; grt_ce_control_interfaces2.ccom_ce_array_olecmd (tmp_prg_cmds, c_cmds, prg_cmds); };
rt_private EIF_INTEGER private_object_id(EIF_REFERENCE object, struct stack *st, EIF_INTEGER *max_value_ptr) { register unsigned int stack_number = 0; register struct stchunk *end; register EIF_INTEGER Result; char *address; if (-1 == epush(st, object)) { /* Cannot record object */ eraise("object id", EN_MEM); /* No more memory */ return (EIF_INTEGER) 0; /* They ignored it */ } address = (char *) (st->st_top - 1); /* Was allocated here */ eif_access(address) = object; /* Record object's physical address */ /* Get the stack number */ for(end = st->st_hd; end != st->st_cur; stack_number++) end = end->sk_next; Result = (EIF_INTEGER) (stack_number*STACK_SIZE+1-(st->st_cur->sk_arena-(char **)address)); if (Result>*max_value_ptr) *max_value_ptr = Result; #ifdef DEBUG dprintf (2) ("eif_object_id %d %lx %lx\n", Result, address, object); #endif return Result; }
void Font21_impl_proxy::ccom_set_name( EIF_OBJECT a_value ) /*----------------------------------------------------------- Set No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_Font21 == NULL) { hr = p_unknown->QueryInterface (IID_Font21_, (void **)&p_Font21); rt.ccom_check_hresult (hr); }; DISPID disp = (DISPID) 0; LCID lcid = (LCID) 0; DISPPARAMS args; VARIANTARG arg; BSTR tmp_value; tmp_value = rt_ec.ccom_ec_bstr (eif_access (a_value)); arg.vt = 8; arg.bstrVal = tmp_value; args.cArgs = 1; args.cNamedArgs = 0; VARIANT pResult; VariantInit (&pResult); excepinfo->wCode = 0; excepinfo->wReserved = 0; excepinfo->bstrSource = NULL; excepinfo->bstrDescription = NULL; excepinfo->bstrHelpFile = NULL; excepinfo->dwHelpContext = 0; excepinfo->pvReserved = NULL; excepinfo->pfnDeferredFillIn = NULL; excepinfo->scode = 0; unsigned int nArgErr; hr = p_Font21->Invoke (disp, IID_NULL, lcid, DISPATCH_PROPERTYPUT, &args, &pResult, excepinfo, &nArgErr); if (hr == DISP_E_TYPEMISMATCH || hr == DISP_E_PARAMNOTFOUND) { char * hresult_error = f.c_format_message (hr); char arg_no[20]; itoa (nArgErr, arg_no, 10); char * arg_name = "Argument No: "; int size = strlen (hresult_error) + strlen (arg_no) + strlen (arg_name) + 1; char * message; message = (char *)calloc (size, sizeof (char)); strcat (message, hresult_error); strcat (message, arg_no); strcat (message, arg_name); com_eraise (message, HRESULT_CODE(hr)); } if (FAILED (hr)) { com_eraise (f.c_format_message (hr), HRESULT_CODE (hr)); }; };
void ecom_control_library::IOleInPlaceFrame_impl_proxy::ccom_set_status_text( /* [in] */ EIF_OBJECT psz_status_text ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleInPlaceFrame == NULL) { hr = p_unknown->QueryInterface (IID_IOleInPlaceFrame_, (void **)&p_IOleInPlaceFrame); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; LPWSTR tmp_psz_status_text = 0; tmp_psz_status_text = (LPWSTR)rt_ec.ccom_ec_lpwstr (eif_access (psz_status_text), NULL); hr = p_IOleInPlaceFrame->SetStatusText(tmp_psz_status_text); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; };
rt_private void private_object_id_free(EIF_INTEGER id, struct stack *st, EIF_INTEGER max_value) { /* Free the entry in the table */ register size_t stack_number, i = 0; register struct stchunk *end; if (id==0) /* No object associated with 0 */ return; if (id>max_value) return; if ((end = st->st_hd) == (struct stchunk *) 0) /* No stack */ return; id--; stack_number = id / STACK_SIZE; /* Get the chunk number */ for (;stack_number != i; i++) if ((end = end->sk_next) == (struct stchunk *) 0) return; /* Not that many chunks */ /* add offset to the end of chunk */ eif_access((char *)((char **)end->sk_arena + (id % STACK_SIZE))) = (EIF_REFERENCE) 0; }
void ecom_StringManipulatorLib::StringManipulator::ccom_replace_substring( /* [in] */ EIF_OBJECT s, /* [in] */ EIF_INTEGER start_pos, /* [in] */ EIF_INTEGER end_pos ) /*----------------------------------------------------------- Copy the characters of `s' to positions `start_pos' .. `end_pos'. -----------------------------------------------------------*/ { HRESULT hr; if (p_IString == NULL) { hr = p_unknown->QueryInterface (IID_IString_, (void **)&p_IString); rt.ccom_check_hresult (hr); }; LPSTR tmp_s = 0; tmp_s = (LPSTR)rt_ec.ccom_ec_lpstr (eif_access (s), NULL); INT tmp_start_pos = 0; tmp_start_pos = (INT)start_pos; INT tmp_end_pos = 0; tmp_end_pos = (INT)end_pos; EIF_ENTER_C; hr = p_IString->ReplaceSubstring(tmp_s,tmp_start_pos,tmp_end_pos); EIF_EXIT_C; rt.ccom_check_hresult (hr); };
void ecom_control_library::IOleInPlaceFrame_impl_proxy::ccom_get_window( /* [out] */ EIF_OBJECT phwnd ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IOleInPlaceFrame == NULL) { hr = p_unknown->QueryInterface (IID_IOleInPlaceFrame_, (void **)&p_IOleInPlaceFrame); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ecom_control_library::wireHWND * tmp_phwnd = 0; tmp_phwnd = (ecom_control_library::wireHWND *)rt_ec.ccom_ec_pointed_pointer (eif_access (phwnd), NULL); hr = p_IOleInPlaceFrame->GetWindow(tmp_phwnd); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_pointer ((void **)tmp_phwnd, phwnd); grt_ce_control_interfaces2.ccom_free_memory_pointed_208 (tmp_phwnd); };
void ecom_control_library::IPersistMemory_impl_proxy::ccom_load( /* [in] */ EIF_OBJECT p_mem, /* [in] */ EIF_INTEGER cb_size ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IPersistMemory == NULL) { hr = p_unknown->QueryInterface (IID_IPersistMemory_, (void **)&p_IPersistMemory); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; UCHAR * tmp_p_mem = 0; tmp_p_mem = (UCHAR *)rt_ec.ccom_ec_pointed_unsigned_character (eif_access (p_mem), NULL); ULONG tmp_cb_size = 0; tmp_cb_size = (ULONG)cb_size; hr = p_IPersistMemory->Load(tmp_p_mem,tmp_cb_size); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; grt_ce_control_interfaces2.ccom_free_memory_pointed_261 (tmp_p_mem); };
/* This is the routine that is called upon a signal and switches back to Eiffel */ void epx_the_signal_handler (int sig) { if (signal_switch_object != NULL && signal_switch_address != NULL) { #ifdef EIFFEL_VENDOR_ISE (signal_switch_address) (eif_access(signal_switch_object), sig); #endif #ifdef EIFFEL_VENDOR_VE (signal_switch_address) (eif_access(signal_switch_object), sig); #endif #ifdef EIFFEL_VENDOR_SE (signal_switch_address) (signal_switch_object, sig); #endif #ifdef EIFFEL_VENDOR_GE (signal_switch_address) (eif_adopt(signal_switch_object), sig); #endif } }
rt_public void eif_log_call (int routine_id, EIF_SCP_PID p, call_data * a) { EIF_GET_CONTEXT BODY_INDEX body_id; EIF_REFERENCE t = eif_access (a -> target); EIF_TYPED_VALUE * result = a -> result; EIF_REFERENCE result_reference = NULL; if (result) { RT_GC_PROTECT (result_reference); a -> result_address = &result_reference; } CHECK("Target attached", t); CBodyId(body_id,routine_id,Dtype(t)); a -> body_index = body_id; RTS_TCB(scoop_task_add_call,p,RTS_PID(t),a); if (result) { switch (result -> type & SK_HEAD) { case SK_REF: case SK_EXP: /* Retrieve reference from the GC-protected storage. */ result -> it_ref = result_reference; } RT_GC_WEAN (result_reference); } }
STDMETHODIMP ecom_control_library::IEnumUnknown_impl_stub::Clone( /* [out] */ ::IEnumUnknown * * ppenum ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { ECATCH; EIF_OBJECT tmp_ppenum = NULL; if (ppenum != NULL) { *ppenum = NULL; tmp_ppenum = eif_protect (grt_ce_control_interfaces2.ccom_ce_pointed_cell_191 (ppenum, NULL)); } EIF_PROCEDURE eiffel_procedure = 0; eiffel_procedure = eif_procedure ("clone1", type_id); (FUNCTION_CAST (void, (EIF_REFERENCE, EIF_REFERENCE))eiffel_procedure) (eif_access (eiffel_object), ((tmp_ppenum != NULL) ? eif_access (tmp_ppenum) : NULL)); grt_ec_control_interfaces2.ccom_ec_pointed_cell_191 (((tmp_ppenum != NULL) ? eif_wean (tmp_ppenum) : NULL), ppenum); if (*ppenum != NULL) (*ppenum)->AddRef (); END_ECATCH; return S_OK; };
ecom_control_library::IEnumUnknown_impl_stub::~IEnumUnknown_impl_stub() { EIF_PROCEDURE eiffel_procedure; eiffel_procedure = eif_procedure ("set_item", type_id); (FUNCTION_CAST (void, (EIF_REFERENCE, EIF_POINTER))eiffel_procedure) (eif_access (eiffel_object), NULL); eif_wean (eiffel_object); };
rt_public void eif_try_call (call_data * a) { uint32 pid = 0; /* Pattern id of the frozen feature */ EIF_NATURAL_32 i; EIF_NATURAL_32 n; BODY_INDEX body_id = a -> body_index; EIF_TYPED_VALUE * v; /* Push arguments to the evaluation stack */ for (n = a -> count, i = 0; i < n; i++) { v = iget (); * v = a -> argument [i]; if ((v -> it_r) && (v -> type & SK_HEAD) == SK_REF) { v -> it_r = eif_access (v -> it_r); } } /* Push current to the evaluation stack */ v = iget (); v -> it_r = eif_access (a -> target); v -> type = SK_REF; /* Make a call */ if (egc_frozen [body_id]) { /* We are below zero Celsius, i.e. ice */ pid = (uint32) FPatId(body_id); (pattern[pid].toc)(egc_frozen[body_id]); /* Call pattern */ } else { /* The proper way to start the interpretation of a melted feature is to call `xinterp' * in order to initialize the calling context (which is not done by `interpret'). * `tagval' will therefore be set, but we have to resynchronize the registers anyway. */ xinterp(MTC melt[body_id], 0); } /* Save result of a call */ v = a -> result; if (v) { * v = * opop (); switch (v -> type & SK_HEAD) { case SK_REF: case SK_EXP: /* Avoid reference result to be GC'ed by storing it in the protected location, pointed by `a -> result_address. */ * (a -> result_address) = v -> it_r; } } }
ecom_control_library::ui_window::~ui_window() { EIF_PROCEDURE eiffel_procedure; eiffel_procedure = eif_procedure ("set_item", type_id); (FUNCTION_CAST (void, (EIF_REFERENCE, EIF_POINTER))eiffel_procedure) (eif_access (eiffel_object), NULL); eif_wean (eiffel_object); ::OleUninitialize (); };
ecom_control_library::ui_window::ui_window( EIF_TYPE_ID tid ) { ::OleInitialize (NULL); type_id = tid; ref_count = 0; eiffel_object = eif_create (type_id); EIF_PROCEDURE eiffel_procedure; eiffel_procedure = eif_procedure ("make_from_pointer", type_id); (FUNCTION_CAST (void, (EIF_REFERENCE, EIF_POINTER))eiffel_procedure) (eif_access (eiffel_object), (EIF_POINTER)this); };
rt_public EIF_INTEGER eif_general_object_id(EIF_OBJECT object) { #ifdef ISE_GC EIF_INTEGER id; EIF_OBJECT_ID_LOCK; id = private_general_object_id(eif_access(object), &object_id_stack, &max_object_id, EIF_FALSE); EIF_OBJECT_ID_UNLOCK; return id; #else return (EIF_INTEGER) object; #endif }
void ecom_control_library::IViewObject2_impl_proxy::ccom_get_advise( /* [out] */ EIF_OBJECT p_aspects, /* [out] */ EIF_OBJECT p_advf, /* [out] */ EIF_OBJECT pp_adv_sink ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { HRESULT hr; if (p_IViewObject2 == NULL) { hr = p_unknown->QueryInterface (IID_IViewObject2_, (void **)&p_IViewObject2); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; }; ULONG * tmp_p_aspects = 0; tmp_p_aspects = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (p_aspects), NULL); ULONG * tmp_p_advf = 0; tmp_p_advf = (ULONG *)rt_ec.ccom_ec_pointed_unsigned_long (eif_access (p_advf), NULL); ::IAdviseSink * * tmp_pp_adv_sink = 0; tmp_pp_adv_sink = (::IAdviseSink * *)grt_ec_control_interfaces2.ccom_ec_pointed_cell_388 (eif_access (pp_adv_sink), NULL); hr = p_IViewObject2->GetAdvise(tmp_p_aspects,tmp_p_advf,tmp_pp_adv_sink); if (FAILED (hr)) { if ((HRESULT_FACILITY (hr) == FACILITY_ITF) && (HRESULT_CODE (hr) > 1024) && (HRESULT_CODE (hr) < 1053)) com_eraise (rt_ec.ccom_ec_lpstr (eename(HRESULT_CODE (hr) - 1024), NULL),HRESULT_CODE (hr) - 1024); com_eraise (f.c_format_message (hr), EN_PROG); }; rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_p_aspects, p_aspects); rt_ce.ccom_ce_pointed_unsigned_long ((ULONG *)tmp_p_advf, p_advf); grt_ce_control_interfaces2.ccom_ce_pointed_cell_388 ((::IAdviseSink * *)tmp_pp_adv_sink, pp_adv_sink); grt_ce_control_interfaces2.ccom_free_memory_pointed_386 (tmp_p_aspects); grt_ce_control_interfaces2.ccom_free_memory_pointed_387 (tmp_p_advf); grt_ce_control_interfaces2.ccom_free_memory_pointed_388 (tmp_pp_adv_sink); };
void set_fallback_res (EIF_POINTER w, EIF_OBJ res, EIF_INTEGER count) { int counter = 0; if (fallback_list != (String *) 0) { String * temp = fallback_list; while (temp) eif_rt_xfree (*(temp++)); eif_rt_xfree (fallback_list); fallback_list = (String *) 0; } if (res != (EIF_OBJ) 0) { fallback_list = (String *) cmalloc (count * sizeof (String) + 1); while (count > counter) { *(fallback_list + counter) = (String) cmalloc (strlen (*((char **)eif_access(res) + counter)) + 1); strcpy (*(fallback_list + counter), *((char **)(eif_access (res)) + counter)); counter++; } *(fallback_list + counter) = (String) 0; } XtAppSetFallbackResources ((XtAppContext) w, fallback_list); }
rt_private EIF_REFERENCE private_id_object(EIF_INTEGER id, struct stack *st, EIF_INTEGER max_value) { register size_t stack_number, i = 0; register struct stchunk *end; register char *address; if (id<=0) /* No object associated with 0 or a negative value. */ return (EIF_REFERENCE) 0; if (id>max_value) return (EIF_REFERENCE) 0; if ((end = st->st_hd) == (struct stchunk *) 0) /* No stack */ return (EIF_REFERENCE) 0; id --; stack_number = id / STACK_SIZE; /* Get the chunk number */ for (;stack_number != i; i++) if ((end = end->sk_next) == (struct stchunk *) 0) return (EIF_REFERENCE) 0; /* Not that many chunks */ /* add offset to the end of chunk */ address = (char *) (end->sk_arena + (id % STACK_SIZE)); #ifdef DEBUG if (address) dprintf (2) ("id_object %d %lx %lx\n", id+1, address, eif_access(address)); else dprintf (2) ("id_object %d No object\n", id+1); #endif if (address) /* Use eif_access to return the "real" object */ return (eif_access(address)); return (EIF_REFERENCE) 0; }
/* Register an idle function. */ gint c_gtk_idle_add (EIF_PROC func, EIF_OBJ object, callback_data **p) { callback_data *cbd; eif_freeze (object); cbd = (callback_data *)g_malloc (sizeof (callback_data)); /* Return the pointer of the allocated block to Eiffel, so it can be deallocated later */ *p = cbd; cbd->rtn = func; cbd->obj = eif_access (object); return (gtk_idle_add (c_gtk_function, cbd)); }
STDMETHODIMP ecom_control_library::IEnumUnknown_impl_stub::Reset( void ) /*----------------------------------------------------------- No description available. -----------------------------------------------------------*/ { ECATCH; EIF_PROCEDURE eiffel_procedure; eiffel_procedure = eif_procedure ("reset", type_id); (FUNCTION_CAST ( void, (EIF_REFERENCE))eiffel_procedure) (eif_access (eiffel_object)); END_ECATCH; return S_OK; };