Author: axeld Date: 2009-12-07 22:32:59 +0100 (Mon, 07 Dec 2009) New Revision: 34541 Changeset: http://dev.haiku-os.org/changeset/34541/haiku Modified: haiku/trunk/headers/private/media/Notifications.h Log: * Cleanup. Modified: haiku/trunk/headers/private/media/Notifications.h =================================================================== --- haiku/trunk/headers/private/media/Notifications.h 2009-12-07 21:28:08 UTC (rev 34540) +++ haiku/trunk/headers/private/media/Notifications.h 2009-12-07 21:32:59 UTC (rev 34541) @@ -9,82 +9,96 @@ #include <MediaNode.h> +#define NOTIFICATION_PARAM_WHAT "be:media:internal:what" +#define NOTIFICATION_PARAM_TEAM "be:media:internal:team" +#define NOTIFICATION_PARAM_MESSENGER "be:media:internal:messenger" + + namespace BPrivate { namespace media { namespace notifications { - /* - * This are the possible notifications that can be watched. - * The notifications marked with "N" are only send when the - * media_node specific BMediaRoster::StartWatching() is used - * and the notification belongs to the watched node. - * - * In addition, anyone watching a specific node will also receive - * error notifications generated by BMediaNode::ReportError() - * - * B_MEDIA_WILDCARD used to match any notification in Start/StopWatching - * B_MEDIA_NODE_CREATED "media_node_id" (multiple items) - * B_MEDIA_NODE_DELETED "media_node_id" (multiple items) - * B_MEDIA_CONNECTION_MADE "output", "input", "format" - * B_MEDIA_CONNECTION_BROKEN "source", "destination" - * B_MEDIA_BUFFER_CREATED "clone_info" -- handled by BMediaRoster - * B_MEDIA_BUFFER_DELETED "media_buffer_id" -- handled by BMediaRoster - * B_MEDIA_TRANSPORT_STATE "state", "location", "realtime" - * B_MEDIA_PARAMETER_CHANGED N "node", "parameter" - * B_MEDIA_FORMAT_CHANGED N "source", "destination", "format" - * B_MEDIA_WEB_CHANGED N "node" - * B_MEDIA_DEFAULT_CHANGED "default", "node" -- handled by BMediaRoster - * B_MEDIA_NEW_PARAMETER_VALUE N "node", "parameter", "when", "value" - * B_MEDIA_NODE_STOPPED N "node", "when" - * B_MEDIA_FLAVORS_CHANGED "be:addon_id", "be:new_count", "be:gone_count" - */ - // used for BMediaRoster::StartWatching() parameter validation - bool IsValidNotificationRequest(bool node_specific, int32 notification); +/*! This are the possible notifications that can be watched. + The notifications marked with "N" are only send when the + media_node specific BMediaRoster::StartWatching() is used + and the notification belongs to the watched node. - // called by BMediaRoster::StartWatching() - status_t Register(const BMessenger ¬ifyHandler, const media_node &node, int32 notification); + In addition, anyone watching a specific node will also receive + error notifications generated by BMediaNode::ReportError() - // called by BMediaRoster::StopWatching() - status_t Unregister(const BMessenger ¬ifyHandler, const media_node &node, int32 notification); + B_MEDIA_WILDCARD used to match any notification in + Start/StopWatching + B_MEDIA_NODE_CREATED "media_node_id" (multiple items) + B_MEDIA_NODE_DELETED "media_node_id" (multiple items) + B_MEDIA_CONNECTION_MADE "output", "input", "format" + B_MEDIA_CONNECTION_BROKEN "source", "destination" + B_MEDIA_BUFFER_CREATED "clone_info" -- handled by BMediaRoster + B_MEDIA_BUFFER_DELETED "media_buffer_id" -- handled by + BMediaRoster + B_MEDIA_TRANSPORT_STATE "state", "location", "realtime" + B_MEDIA_PARAMETER_CHANGED N "node", "parameter" + B_MEDIA_FORMAT_CHANGED N "source", "destination", "format" + B_MEDIA_WEB_CHANGED N "node" + B_MEDIA_DEFAULT_CHANGED "default", "node" -- handled by + BMediaRoster + B_MEDIA_NEW_PARAMETER_VALUE N "node", "parameter", "when", "value" + B_MEDIA_NODE_STOPPED N "node", "when" + B_MEDIA_FLAVORS_CHANGED "be:addon_id", "be:new_count", + "be:gone_count" +*/ - // called by BMediaNode::ReportError() - status_t ReportError(const media_node &node, BMediaNode::node_error what, const BMessage * info); +// used for BMediaRoster::StartWatching() parameter validation +bool IsValidNotificationRequest(bool node_specific, int32 notification); - void NodesCreated(const media_node_id *ids, int32 count); - void NodesDeleted(const media_node_id *ids, int32 count); - void ConnectionMade(const media_input &input, const media_output &output, const media_format &format); - void ConnectionBroken(const media_source &source, const media_destination &destination); - void BuffersCreated(area_info *areas, int32 count); - void BuffersDeleted(const media_buffer_id *ids, int32 count); +// called by BMediaRoster::StartWatching() +status_t Register(const BMessenger& notifyHandler, const media_node& node, + int32 notification); - // called by BMediaNode::NodeStopped() - void NodeStopped(const media_node &node, bigtime_t when); +// called by BMediaRoster::StopWatching() +status_t Unregister(const BMessenger& notifyHandler, const media_node& node, + int32 notification); - // called by BControllable::BroadcastChangedParameter() - status_t ParameterChanged(const media_node &node, int32 parameterid); +// called by BMediaNode::ReportError() +status_t ReportError(const media_node& node, BMediaNode::node_error what, + const BMessage* info); - // called by BControllable::SetParameterWeb() - void WebChanged(const media_node &node); +void NodesCreated(const media_node_id* ids, int32 count); +void NodesDeleted(const media_node_id* ids, int32 count); +void ConnectionMade(const media_input& input, const media_output& output, + const media_format& format); +void ConnectionBroken(const media_source& source, + const media_destination& destination); +void BuffersCreated(area_info* areas, int32 count); +void BuffersDeleted(const media_buffer_id* ids, int32 count); - // called by BControllable::BroadcastNewParameterValue() - status_t NewParameterValue(const media_node &node, int32 parameterid, bigtime_t when, const void *param, size_t paramsize); +// called by BMediaNode::NodeStopped() +void NodeStopped(const media_node& node, bigtime_t when); - // called by the media_addon_server AFTER a flavor change has been - // handled. NOT CALLED by BMediaAddOn::NotifyFlavorChange() - void FlavorsChanged(media_addon_id addonid, int32 newcount, int32 gonecount); +// called by BControllable::BroadcastChangedParameter() +status_t ParameterChanged(const media_node& node, int32 parameterID); - void FormatChanged(const media_source &source, const media_destination &destination, const media_format &format); +// called by BControllable::SetParameterWeb() +void WebChanged(const media_node& node); - // XXX missing: B_MEDIA_TRANSPORT_STATE /* "state", "location", "realtime" */ - // XXX missing: B_MEDIA_DEFAULT_CHANGED /* "default", "node" */ +// called by BControllable::BroadcastNewParameterValue() +status_t NewParameterValue(const media_node& node, int32 parameterID, + bigtime_t when, const void* parameter, size_t parameterSize); -}; // namespace notifications -}; // namespace media -}; // namespace BPrivate +// called by the media_addon_server AFTER a flavor change has been +// handled. NOT CALLED by BMediaAddOn::NotifyFlavorChange() +void FlavorsChanged(media_addon_id addOnID, int32 newCount, + int32 goneCount); -#define NOTIFICATION_PARAM_WHAT "be:media:internal:what" -#define NOTIFICATION_PARAM_TEAM "be:media:internal:team" -#define NOTIFICATION_PARAM_MESSENGER "be:media:internal:messenger" +void FormatChanged(const media_source& source, + const media_destination& destination, + const media_format& format); +// TODO: missing: B_MEDIA_TRANSPORT_STATE "state", "location", "realtime" +// TODO: missing: B_MEDIA_DEFAULT_CHANGED "default", "node" + +} // namespace notifications +} // namespace media +} // namespace BPrivate + #endif // _NOTIFICATIONS_H