Home | History | Annotate | Download | only in include
      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_DURATIONINFOMESSAGE_EXTENSION_H_INCLUDED
     19 #define PVMF_DURATIONINFOMESSAGE_EXTENSION_H_INCLUDED
     20 
     21 #ifndef OSCL_BASE_H_INCLUDED
     22 #include "oscl_base.h"
     23 #endif
     24 #ifndef PV_UUID_H_INCLUDED
     25 #include "pv_uuid.h"
     26 #endif
     27 #ifndef PV_INTERFACE_H
     28 #include "pv_interface.h"
     29 #endif
     30 
     31 #define PVMFDurationInfoMessageInterfaceUUID PVUuid(0x28e9d201,0xd566,0x4b06,0xa5,0x68,0x8d,0x65,0x7a,0x2d,0x92,0x64)
     32 
     33 class PVMFDurationInfoMessageInterface : public PVInterface
     34 {
     35     public:
     36         /*
     37            Returns the code and space UUID for this info message
     38 
     39            @param aCode Reference to an integer which will be filled in with event code
     40            @param aUuid Reference to a PVUuid which will be filled in with UUID assocated to event code
     41 
     42            @return None
     43         */
     44         virtual void GetCodeUUID(int32& aCode, PVUuid& aUuid) = 0;
     45 
     46         /*
     47            Returns a pointer to the next info message in the linked list. If NULL,
     48            the current info message is the last element in the list.
     49 
     50            @return Pointer to the next message in the list. NULL if at the end of list
     51         */
     52         virtual uint32 GetDuration() = 0;
     53 
     54         // From PVInterface
     55         /*
     56            Increments the reference count for this info message object
     57         */
     58         virtual void addRef() = 0;
     59         /*
     60            Decrements the reference count for this info message object and deletes
     61            this object if count goes to 0.
     62         */
     63         virtual void removeRef() = 0;
     64         /*
     65            Returns the extension interface for the specified UUID if this info
     66            message object supports it. If the requested extension interface is supported
     67            true is returned, else false.
     68         */
     69         virtual bool queryInterface(const PVUuid& uuid, PVInterface*& iface) = 0;
     70 };
     71 
     72 
     73 #endif // PVMF_DURATIONINFOMESSAGE_EXTENSION_H_INCLUDED
     74 
     75