GammaRay API Documentation  3.2.0
Public Types | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
GammaRay::Server Class Reference

#include <server.h>

Inheritance diagram for GammaRay::Server:
GammaRay::Endpoint

Public Types

enum  ObjectExportOption { ExportNothing = 0x0 , ExportSignals = 0x1 , ExportProperties = 0x2 , ExportEverything = ExportProperties | ExportSignals }
 

Signals

void externalAddressChanged ()
 
- Signals inherited from GammaRay::Endpoint
void connectionEstablished ()
 Emitted when a connection to another endpoint was successfully established and passed the protocol version handshake step.
 
void disconnected ()
 Emitted when we lost the connection to the other endpoint.
 
void logTransmissionRate (quint64 bytesRead, quint64 bytesWritten)
 
void objectRegistered (const QString &objectName, Protocol::ObjectAddress objectAddress)
 Emitted when a new object with name objectName has been registered at address objectAddress.
 
void objectUnregistered (const QString &objectName, Protocol::ObjectAddress objectAddress)
 

Public Member Functions

 Server (QObject *parent=nullptr)
 
QString errorString () const
 
QUrl externalAddress () const
 
void invokeObject (const QString &objectName, const char *method, const QVariantList &args=QVariantList()) const override
 
bool isListening () const
 
bool isRemoteClient () const override
 Returns true for remote clients and false for the in-probe server endpoint.
 
bool listen ()
 
void registerMonitorNotifier (Protocol::ObjectAddress address, QObject *receiver, const char *monitorNotifier)
 
Protocol::ObjectAddress registerObject (const QString &name, QObject *object) override
 
Protocol::ObjectAddress registerObject (const QString &name, QObject *object, ObjectExportOptions exportOptions)
 
QUrl serverAddress () const override
 Returns the listening address of the server, in case you need to connect to a different service there (such as the web inspector server).
 
- Public Member Functions inherited from GammaRay::Endpoint
QString key () const
 Returns a fixed string uniquely describing the host program.
 
QString label () const
 Returns a human-readable string describing the host program.
 
Protocol::ObjectAddress objectAddress (const QString &objectName) const
 Returns the object address for objectName, or Protocol::InvalidObjectAddress if not known.
 
qint64 pid () const
 Returns the process identifier (pid) of the host program.
 
virtual void registerMessageHandler (Protocol::ObjectAddress objectAddress, QObject *receiver, const char *messageHandlerName)
 Register the slot messageHandlerName on receiver as the handler for messages to/from objectAddress. More...
 
void setKey (const QString &key)
 Sets the fixed key of this instance used e.g. More...
 
void setLabel (const QString &label)
 Sets the human-readable label of this instance used e.g. More...
 
void setPid (qint64 pid)
 Sets the process identifier of the host program of this instance used e.g. More...
 
virtual void unregisterMessageHandler (Protocol::ObjectAddress objectAddress)
 Unregister the message handler for objectAddress.
 
void waitForMessagesWritten ()
 Write all pending data and block until this is done. More...
 

Static Public Member Functions

static Serverinstance ()
 
- Static Public Member Functions inherited from GammaRay::Endpoint
static quint16 broadcastPort ()
 
static quint16 defaultPort ()
 
static Endpointinstance ()
 Singleton accessor.
 
static bool isConnected ()
 Returns true if we are currently connected to another endpoint.
 
static void send (const Message &msg)
 Send msg to the connected endpoint.
 

Protected Member Functions

void handlerDestroyed (Protocol::ObjectAddress objectAddress, const QString &objectName) override
 
void messageReceived (const Message &msg) override
 
void objectDestroyed (Protocol::ObjectAddress objectAddress, const QString &objectName, QObject *object) override
 

Additional Inherited Members

- Public Slots inherited from GammaRay::Endpoint
void sendMessage (const GammaRay::Message &msg)
 Convenience overload of send(), to directly send message delivered via signals.
 

Detailed Description

Server side connection endpoint.

Member Enumeration Documentation

◆ ObjectExportOption

Indicates which parts of a QObject should be exported to the client.

Member Function Documentation

◆ errorString()

QString GammaRay::Server::errorString ( ) const

Returns the current error of the device to be displayed to the user.

◆ externalAddress()

QUrl GammaRay::Server::externalAddress ( ) const

Returns an address suitable to connect to this server. In contrast to serverAddress(), which returns the listening address, which might not be identical for all protocols (such as TCP).

◆ externalAddressChanged

void GammaRay::Server::externalAddressChanged ( )
signal

Indicates the external address might have changed.

◆ instance()

static Server* GammaRay::Server::instance ( )
static

Singleton accessor.

◆ invokeObject()

void GammaRay::Server::invokeObject ( const QString &  objectName,
const char *  method,
const QVariantList &  args = QVariantList() 
) const
overridevirtual

Call method on the remote client and also directly on the local object identified by objectName.

Reimplemented from GammaRay::Endpoint.

◆ registerMonitorNotifier()

void GammaRay::Server::registerMonitorNotifier ( Protocol::ObjectAddress  address,
QObject *  receiver,
const char *  monitorNotifier 
)

Register a callback slot monitorNotifier on object receiver that is called if the usage of an object with address address changes on the client side.

This is useful for example to disable expensive operations like sending large amounts of data if nobody is interested anyway.

◆ registerObject() [1/2]

Protocol::ObjectAddress GammaRay::Server::registerObject ( const QString &  name,
QObject *  object 
)
overridevirtual

Register a server-side QObject to send/receive messages to/from the client side. This is equivalent to registerObject(name, object, ExportEverything);

Reimplemented from GammaRay::Endpoint.

◆ registerObject() [2/2]

Protocol::ObjectAddress GammaRay::Server::registerObject ( const QString &  name,
QObject *  object,
ObjectExportOptions  exportOptions 
)

Register a server-side QObject for exporting to the client.


© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
GammaRay Qt-application inspection and manipulation tool
https://www.kdab.com/development-resources/qt-tools/gammaray/
Generated by doxygen 1.9.1