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, L4_fpage::Rights rights, Syscall_frame *, Utcb *) = 0;
35 IMPLEMENT inline Kobject_common::~Kobject_common() {}
39 Kobject_iface::commit_result(Mword error,
40 unsigned words = 0, unsigned items = 0)
42 return L4_msg_tag(words, items, 0, error);
47 Kobject_iface::commit_error(Utcb const *utcb, L4_error const &e,
48 L4_msg_tag const &tag = L4_msg_tag(0, 0, 0, 0))
50 const_cast<Utcb*>(utcb)->error = e;
51 return L4_msg_tag(tag, L4_msg_tag::Error);
56 Kobject_iface::downgrade(unsigned long del_attribs)
57 { (void)del_attribs; return this; }
60 // ------------------------------------------------------------------------
61 IMPLEMENTATION [debug]:
63 PUBLIC virtual Kobject_dbg *Kobject_common::dbg_info() const = 0;