Tizen 2.1 base
[framework/osp/uifw.git] / inc / FGrpIVideoTextureUpdateListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file        FGrpIVideoTextureUpdateListener.h
20  * @brief       This is the header file for the %IVideoTextureUpdateListener class.
21  *
22  * This header file contains the declarations of the %IVideoTextureUpdateListener class.
23  *
24  */
25
26 #ifndef _FGRP_IVIDEO_TEXTURE_UPDATE_LISTENER_H_
27 #define _FGRP_IVIDEO_TEXTURE_UPDATE_LISTENER_H_
28
29 namespace Tizen { namespace Graphics { namespace Opengl
30 {
31
32 class VideoTexture;
33
34 /**
35  * @class       IVideoTextureUpdateListener
36  * @brief       This virtual class defines the interface for VideoTexture to register a listener.
37  * @since 2.0
38  *
39  */
40 class _OSP_EXPORT_ IVideoTextureUpdateListener
41 {
42 public:
43         /**
44          * This polymorphic destructor should be overridden if required.
45          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
46          *
47          * @since 2.0
48          */
49         virtual ~IVideoTextureUpdateListener(void) {}
50
51         /**
52          * Called when a video frame on the texture is ready.
53          *
54          * @since 2.0
55          *
56          * @param[in]   pVideoTexture   The VideoTexture class.
57          */
58         virtual void OnTextureUpdated(VideoTexture* pVideoTexture) = 0;
59
60 protected:
61         //
62         // This method is for internal use only. Using this method can cause behavioral, security-related,
63         // and consistency-related issues in the application.
64         //
65         // This method is reserved and may change its name at any time without
66         // prior notice.
67         //
68         // @since 2.0
69         //
70         virtual void IVideoTextureUpdateListener_Reserved1(void) {}
71         //
72         // This method is for internal use only. Using this method can cause behavioral, security-related,
73         // and consistency-related issues in the application.
74         //
75         // This method is reserved and may change its name at any time without
76         // prior notice.
77         //
78         // @since 2.0
79         //
80         virtual void IVideoTextureUpdateListener_Reserved2(void) {}
81         //
82         // This method is for internal use only. Using this method can cause behavioral, security-related,
83         // and consistency-related issues in the application.
84         //
85         // This method is reserved and may change its name at any time without
86         // prior notice.
87         //
88         // @since 2.0
89         //
90         virtual void IVideoTextureUpdateListener_Reserved3(void) {}
91 }; // IVideoTextureUpdateListener
92
93 }}} // Tizen::Graphics
94
95 #endif //_FGRP_IVIDEO_TEXTURE_UPDATE_LISTENER_H_