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;
24 virtual ~Kobject_common() = 0;
27 class Kobject_iface : public Kobject_common
30 virtual void invoke(L4_obj_ref self, Mword rights, Syscall_frame *, Utcb *) = 0;
36 Kobject_common::~Kobject_common() {}
40 Kobject_iface::commit_result(Mword error,
41 unsigned words = 0, unsigned items = 0)
43 return L4_msg_tag(words, items, 0, error);
48 Kobject_iface::commit_error(Utcb const *utcb, L4_error const &e,
49 L4_msg_tag const &tag = L4_msg_tag(0, 0, 0, 0))
51 const_cast<Utcb*>(utcb)->error = e;
52 return L4_msg_tag(tag, L4_msg_tag::Error);
57 Kobject_iface::downgrade(unsigned long del_attribs)
58 { (void)del_attribs; return this; }
61 // ------------------------------------------------------------------------
62 IMPLEMENTATION [debug]:
64 PUBLIC virtual Kobject_dbg *Kobject_common::dbg_info() const = 0;