| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- //====== Copyright � 1996-2007, Valve Corporation, All rights reserved. =======
- //
- // Purpose: Interface to unified messages client
- //
- // You should not need to use this interface except if your product is using a language other than C++.
- // Contact your Steam Tech contact for more details.
- //
- //=============================================================================
- #ifndef ISTEAMUNIFIEDMESSAGES_H
- #define ISTEAMUNIFIEDMESSAGES_H
- #ifdef _WIN32
- #pragma once
- #endif
- typedef uint64 ClientUnifiedMessageHandle;
- class ISteamUnifiedMessages
- {
- public:
- static const ClientUnifiedMessageHandle k_InvalidUnifiedMessageHandle = 0;
- // Sends a service method (in binary serialized form) using the Steam Client.
- // Returns a unified message handle (k_InvalidUnifiedMessageHandle if could not send the message).
- virtual ClientUnifiedMessageHandle SendMethod( const char *pchServiceMethod, const void *pRequestBuffer, uint32 unRequestBufferSize, uint64 unContext ) = 0;
- // Gets the size of the response and the EResult. Returns false if the response is not ready yet.
- virtual bool GetMethodResponseInfo( ClientUnifiedMessageHandle hHandle, uint32 *punResponseSize, EResult *peResult ) = 0;
- // Gets a response in binary serialized form (and optionally release the corresponding allocated memory).
- virtual bool GetMethodResponseData( ClientUnifiedMessageHandle hHandle, void *pResponseBuffer, uint32 unResponseBufferSize, bool bAutoRelease ) = 0;
- // Releases the message and its corresponding allocated memory.
- virtual bool ReleaseMethod( ClientUnifiedMessageHandle hHandle ) = 0;
- // Sends a service notification (in binary serialized form) using the Steam Client.
- // Returns true if the notification was sent successfully.
- virtual bool SendNotification( const char *pchServiceNotification, const void *pNotificationBuffer, uint32 unNotificationBufferSize ) = 0;
- };
- #define STEAMUNIFIEDMESSAGES_INTERFACE_VERSION "STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001"
- // callbacks
- #if defined( VALVE_CALLBACK_PACK_SMALL )
- #pragma pack( push, 4 )
- #elif defined( VALVE_CALLBACK_PACK_LARGE )
- #pragma pack( push, 8 )
- #else
- #error isteamclient.h must be included
- #endif
- struct SteamUnifiedMessagesSendMethodResult_t
- {
- enum { k_iCallback = k_iClientUnifiedMessagesCallbacks + 1 };
- ClientUnifiedMessageHandle m_hHandle; // The handle returned by SendMethod().
- uint64 m_unContext; // Context provided when calling SendMethod().
- EResult m_eResult; // The result of the method call.
- uint32 m_unResponseSize; // The size of the response.
- };
- #pragma pack( pop )
- #endif // ISTEAMUNIFIEDMESSAGES_H
|