From 05f452c37c54460055f136df7e26285c3e6169df Mon Sep 17 00:00:00 2001 From: David McPaul Date: Tue, 12 May 2009 14:27:26 +0000 Subject: [PATCH] Implement SniffRef git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30715 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/media/MediaRoster.cpp | 50 +++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/kits/media/MediaRoster.cpp b/src/kits/media/MediaRoster.cpp index d3d40f50ff..e7910296ac 100644 --- a/src/kits/media/MediaRoster.cpp +++ b/src/kits/media/MediaRoster.cpp @@ -2847,7 +2847,55 @@ status_t BMediaRoster::SniffRef(const entry_ref& file, uint64 requireNodeKinds, dormant_node_info* _node, BMimeType* mimeType) { - UNIMPLEMENTED(); + CALLED(); + + TRACE("BMediaRoster::SniffRef looking for a node to handle %s : %Ld\n",file.name, requireNodeKinds); + + if (_node == NULL) + return B_BAD_VALUE; + + BMimeType aMimeType; + + dormant_node_info nodes[30]; + int32 count = 30; + int32 highestCapability = -1; + float capability; + + media_node node; + + // Get all dormant nodes using GetDormantNodes + if (B_OK == GetDormantNodes(nodes, &count, NULL, NULL, NULL, requireNodeKinds | B_FILE_INTERFACE, 0)) { + // Call SniffRefFor on each node that matches requireNodeKinds + for (int32 i=0;i