7 class Kobject_mappable;
16 virtual char const *kobj_type() const = 0;
17 virtual Address kobject_start_addr() const = 0;
19 virtual bool is_local(Space *) const = 0;
20 virtual Mword obj_id() const = 0;
21 virtual void initiate_deletion(Kobject ***) = 0;
23 virtual Kobject_mappable *map_root() = 0;
26 class Kobject_iface : public Kobject_common
29 virtual void invoke(L4_obj_ref self, Mword rights, Syscall_frame *, Utcb *) = 0;
36 Kobject_iface::commit_result(Mword error,
37 unsigned words = 0, unsigned items = 0)
39 return L4_msg_tag(words, items, 0, error);
44 Kobject_iface::commit_error(Utcb const *utcb, L4_error const &e,
45 L4_msg_tag const &tag = L4_msg_tag(0, 0, 0, 0))
47 const_cast<Utcb*>(utcb)->error = e;
48 return L4_msg_tag(tag, L4_msg_tag::Error);
53 Kobject_iface::downgrade(unsigned long del_attribs)
54 { (void)del_attribs; return this; }
57 // ------------------------------------------------------------------------
58 IMPLEMENTATION [debug]:
60 PUBLIC virtual Kobject_dbg *Kobject_common::dbg_info() const = 0;