Fcitx
Public Member Functions | Static Public Member Functions | List of all members
fcitx::dbus::ObjectVTable< T > Class Template Reference

Base class of any DBus object. More...

#include <fcitx-utils/dbus/objectvtable.h>

Inheritance diagram for fcitx::dbus::ObjectVTable< T >:
Inheritance graph
[legend]
Collaboration diagram for fcitx::dbus::ObjectVTable< T >:
Collaboration graph
[legend]

Public Member Functions

std::mutex & privateDataMutexForType () override
 
ObjectVTablePrivate * privateDataForType () override
 
- Public Member Functions inherited from fcitx::dbus::ObjectVTableBase
void addMethod (ObjectVTableMethod *method)
 
void addSignal (ObjectVTableSignal *sig)
 
void addProperty (ObjectVTableProperty *property)
 
void releaseSlot ()
 Unregister the dbus object from the bus. More...
 
Bus * bus ()
 Return the bus that the object is registered to.
 
Bus * bus () const
 
bool isRegistered () const
 Return whether this object is registered to a bus.
 
const std::string & path () const
 Return the registered dbus object path of the object.
 
const std::string & interface () const
 Return the registered dbus interface of the object.
 
Message * currentMessage () const
 Return the current dbus message for current method. More...
 
void setCurrentMessage (Message *message)
 Set the current dbus message. More...
 
ObjectVTableMethod * findMethod (const std::string &name)
 
ObjectVTableProperty * findProperty (const std::string &name)
 
- Public Member Functions inherited from fcitx::TrackableObject< ObjectVTableBase >
 TrackableObject (const TrackableObject &)=delete
 
TrackableObjectReference< ObjectVTableBase > watch ()
 
TrackableObjectReference< const ObjectVTableBase > watch () const
 

Static Public Member Functions

static std::mutex & privateDataMutex ()
 
static ObjectVTablePrivate * privateData ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from fcitx::dbus::ObjectVTableBase
static std::shared_ptr< ObjectVTablePrivate > newSharedPrivateData ()
 

Detailed Description

template<typename T>
class fcitx::dbus::ObjectVTable< T >

Base class of any DBus object.

This should be used with curiously recurring template pattern. Like:

class Object : public ObjectVTable<OBject> {};

It will instantiate the related shared data for this type.

Definition at line 401 of file objectvtable.h.


The documentation for this class was generated from the following file: