• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ------------------------------------------------------------------
2  * Copyright (C) 1998-2009 PacketVideo
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  * -------------------------------------------------------------------
17  */
18 #ifndef PVMF_NODE_SHARED_LIB_INTERFACE_H_INCLUDED
19 #define PVMF_NODE_SHARED_LIB_INTERFACE_H_INCLUDED
20 
21 #ifndef OSCL_SHARED_LIB_INTERFACE_H_INCLUDED
22 #include "oscl_shared_lib_interface.h"
23 #endif
24 #ifndef OSCL_SHARED_LIBRARY_H_INCLUDED
25 #include "oscl_shared_library.h"
26 #endif
27 #ifndef PV_PLAYER_NODE_REGISTRY_INTERFACE_H_INCLUDED
28 #include "pv_player_node_registry_interface.h"
29 #endif
30 
31 #define PV_CREATE_NODE_INTERFACE OsclUuid(0xac8703a0,0xca0c,0x11dc,0x95,0xff,0x08,0x00,0x20,0x0c,0x9a,0x66)
32 #define PV_RELEASE_NODE_INTERFACE OsclUuid(0xac8703a1,0xca0c,0x11dc,0x95,0xff,0x08,0x00,0x20,0x0c,0x9a,0x66)
33 #define PV_NODE_INTERFACE OsclUuid(0xac8703a2,0xca0c,0x11dc,0x95,0xff,0x08,0x00,0x20,0x0c,0x9a,0x66)
34 
35 
36 class NodeSharedLibraryInterface
37 {
38     public:
39         /**
40          * Query for the instance of a particular interface based on the request the node UUID
41          *
42          * @param aNodeUuid This is the UUID to identify which node to retrieve the interface for.
43          *
44          * @param aInterfacePtr - output parameter filled in with the requested interface
45          *                        pointer or NULL if the interface pointer is not supported.
46          **/
47         virtual OsclAny* QueryNodeInterface(const PVUuid& aNodeUuid, const OsclUuid& aInterfaceId) = 0;
48 };
49 
50 #endif // PVMF_NODE_SHARED_LIB_INTERFACE_H_INCLUDED
51 
52