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
 
ObjectVTablePrivateprivateDataForType () 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...
 
Busbus ()
 Return the bus that the object is registered to.
 
Busbus () 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.
 
MessagecurrentMessage () const
 Return the current dbus message for current method. More...
 
void setCurrentMessage (Message *message)
 Set the current dbus message. More...
 
ObjectVTableMethodfindMethod (const std::string &name)
 
ObjectVTablePropertyfindProperty (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 ObjectVTablePrivateprivateData ()
 

Additional Inherited Members

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

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 381 of file objectvtable.h.


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