// This function could be made to do a binary search if we can
// manage to somehow sort the IFaceTables...
-
uintptr_t downcast(::System::_i_Object *obj,
const unsigned long *new_guid)
{
return ptr;
};
-
namespace Priv {
typedef void (*MethodEntry)(ParamInfoBlock *pib);
void *ptr; // pointer to the class interface
};
- typedef Util::RadixTree<Object, ID, 6> ObjTable;
+ typedef ::Util::RadixTree<Object, ID, 6> ObjTable;
ObjTable objtable;
unsigned long get_pc()
void exception_to_array(::System::VStruct *ex, Array<uint8_t> *ar)
{
- // FIXME
-// ar->ptr = reinterpret_cast<uint8_t *>(ex);
-// ar->count = ex->_infoptr->structlen;
+ // FIXME: marshall struct
}
void handle_message(ParamInfoBlock *pib)
throw_idl(ShortMessage, 0, pib->segments[0].len,
sizeof(InvokeMethod));
- // ID obj = pib->objlist[0];
-
-
+// ID obj = pib->objlist[0];
break;
}
::System::RunTime::Priv::handle_message(pib);
}
- catch (::System::Exceptions::Exception *ex) {
- ::System::RunTime::Priv::exception_to_array(ex, ex_arr);
+ catch (::System::Exceptions::Exception &ex) {
+ ::System::RunTime::Priv::exception_to_array(&ex, ex_arr);
}
catch (...) {