| Index: dbus/message.h
|
| diff --git a/dbus/message.h b/dbus/message.h
|
| index 501f99ac7aa65f5603e1e6c1bb61dfa97778ed9b..31887a12e89a053b8aca44ceac595fd28834849f 100644
|
| --- a/dbus/message.h
|
| +++ b/dbus/message.h
|
| @@ -74,6 +74,30 @@ class Message {
|
| // of raw_message. raw_message_ will be unref'ed in the destructor.
|
| void reset_raw_message(DBusMessage* raw_message);
|
|
|
| + // Sets the destination, the path, the interface, the member, etc.
|
| + void SetDestination(const std::string& destination);
|
| + void SetPath(const std::string& path);
|
| + void SetInterface(const std::string& interface);
|
| + void SetMember(const std::string& member);
|
| + void SetErrorName(const std::string& error_name);
|
| + void SetSender(const std::string& sender);
|
| + void SetSerial(uint32 serial);
|
| + void SetReplySerial(uint32 reply_serial);
|
| + // SetSignature() does not exist as we cannot do it.
|
| +
|
| + // Gets the destination, the path, the interface, the member, etc.
|
| + // If not set, an empty string is returned.
|
| + std::string GetDestination();
|
| + std::string GetPath();
|
| + std::string GetInterface();
|
| + std::string GetMember();
|
| + std::string GetErrorName();
|
| + std::string GetSender();
|
| + std::string GetSignature();
|
| + // Gets the serial and reply serial numbers. Returns 0 if not set.
|
| + uint32 GetSerial();
|
| + uint32 GetReplySerial();
|
| +
|
| // Returns the string representation of this message. Useful for
|
| // debugging.
|
| std::string ToString();
|
| @@ -104,16 +128,10 @@ class MethodCall : public Message {
|
| MethodCall(const std::string& interface_name,
|
| const std::string& method_name);
|
|
|
| - const std::string& interface_name() { return interface_name_; }
|
| - const std::string& method_name() { return method_name_; }
|
| -
|
| - // Sets the service name. This will be handled by the object proxy.
|
| - void SetServiceName(const std::string& service_name);
|
| - // Sets the object path. This will be handled by the object proxy.
|
| - void SetObjectPath(const std::string& object_path);
|
| -
|
| - std::string interface_name_;
|
| - std::string method_name_;
|
| + // Returns a newly created MethodCall from the given raw message of the
|
| + // type DBUS_MESSAGE_TYPE_METHOD_CALL. The caller must delete the
|
| + // returned object. Takes the ownership of |raw_message|.
|
| + static MethodCall* FromRawMessage(DBusMessage* raw_message);
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MethodCall);
|
| };
|
| @@ -127,10 +145,36 @@ class Response : public Message {
|
| // response is received from the server. See object_proxy.h.
|
| Response();
|
|
|
| + // Returns a newly created Response from the given method call. The
|
| + // caller must delete the returned object. Used for implementing
|
| + // exported methods.
|
| + static Response* FromMethodCall(MethodCall* method_call);
|
| +
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(Response);
|
| };
|
|
|
| +// ErrorResponse is a type of message used to return an error to the
|
| +// caller of a method.
|
| +class ErrorResponse: public Message {
|
| + public:
|
| + // Creates a ErrorResponse message. The internal raw message is NULL.
|
| + // Classes that implment method calls need to set the raw message once a
|
| + // response is received from the server. See object_proxy.h.
|
| + ErrorResponse();
|
| +
|
| + // Returns a newly created ErrorResponse from the given method call, the
|
| + // error name, and the error message. The error name looks like
|
| + // "org.freedesktop.DBus.Error.Failed". Used for returning an error to a
|
| + // failed method call.
|
| + static ErrorResponse* FromMethodCall(MethodCall* method_call,
|
| + const std::string& error_name,
|
| + const std::string& error_message);
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ErrorResponse);
|
| +};
|
| +
|
| // MessageWriter is used to write outgoing messages for calling methods
|
| // and sending signals.
|
| //
|
|
|