haiku/headers/private/media/DataExchange.h
Axel Dörfler f0a1eb2dba * The static object construction and destruction is no longer random, but takes
the internal dependencies into account. This should fix bugs #5166, #5120,
  and #5150.
* Also, the time source object manager, as well as the dormant node manager
  are now recreated on media roster restart (when the media server is
  restarted).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 16:53:55 +00:00

51 lines
1.4 KiB
C++

/*
* Copyright 2002, Marcus Overhagen. All rights reserved.
* Copyright 2009, Axel Dörfler, axeld@pinc-software.de.
*
* Distributed under the terms of the MIT License.
*/
#ifndef _DATA_EXCHANGE_H
#define _DATA_EXCHANGE_H
#include <ServerInterface.h>
namespace BPrivate {
namespace media {
namespace dataexchange {
void InitDataExchange();
// BMessage based data exchange with the media_server
status_t SendToServer(BMessage* msg);
status_t QueryServer(BMessage& request, BMessage& reply);
// Raw data based data exchange with the media_server
status_t SendToServer(int32 msgCode, command_data* msg, size_t size);
status_t QueryServer(int32 msgCode, request_data* request, size_t requestSize,
reply_data* reply, size_t replySize);
// Raw data based data exchange with the media_addon_server
status_t SendToAddOnServer(int32 msgCode, command_data *msg, size_t size);
status_t QueryAddOnServer(int32 msgCode, request_data* request,
size_t requestSize, reply_data* reply, size_t replySize);
// Raw data based data exchange with any (media node control-) port
status_t SendToPort(port_id sendPort, int32 msgCode, command_data* msg,
size_t size);
status_t QueryPort(port_id requestPort, int32 msgCode, request_data* request,
size_t requestSize, reply_data* reply, size_t replySize);
} // namespace dataexchange
} // namespace media
} // namespace BPrivate
using namespace BPrivate::media::dataexchange;
#endif // _DATA_EXCHANGE_H