a5d44a8c3d1e2b6626211e725929a665960cd07c
[platform/framework/native/appfw.git] / inc / FIoIChannelRequestEventListener.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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 express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 /**
17  * @file                FIoIChannelRequestEventListener.h
18  * @brief               This is the header file for the %IChannelRequestEventListener interface.
19  *
20  * This header file contains the declarations of the %IChannelRequestEventListener interface.
21  */
22
23 #ifndef _FIO_ICHANNEL_REQUESTEVENT_LISTENER_H_
24 #define _FIO_ICHANNEL_REQUESTEVENT_LISTENER_H_
25
26 #include <FBaseTypes.h>
27 #include <FBaseDataType.h>
28 #include <FBaseRtIEventListener.h>
29 #include <FBase.h>
30 #include <FAppTypes.h>
31
32 namespace Tizen { namespace Io
33 {
34
35 class ServerChannel;
36
37 /**
38 * @if OSPDEPREC
39 * @interface IChannelRequestEventListener
40 * @brief    <i> [Deprecated] </i> This interface provides event handlers for any request events received through a channel.
41 *
42 * @deprecated   This interface is deprecated. Instead of using this interface, use the IMessagePortListener interface.
43 * @since    2.0
44 *
45 * The %IChannelRequestEventListener interface provides event handlers to receive channel request event.
46 * @endif
47 */
48 class _OSP_EXPORT_ IChannelRequestEventListener
49         : virtual public Tizen::Base::Runtime::IEventListener
50 {
51 public:
52         /**
53          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
54          *
55          * @since   2.0
56          */
57         virtual ~IChannelRequestEventListener(void) {}
58
59         /**
60          * Called when a request is received from the client channel.
61          *
62          * @since        2.0
63          *
64          * @param[in] reqId               The request ID
65          * @param[in] serverChannel       The reference to the server channel
66          * @param[in] clientChannelId     The client channel ID
67          * @param[in] pArgs               A pointer to an argument list of type String
68          */
69         virtual void OnChannelRequestReceivedN(RequestId reqId, ServerChannel& serverChannel, const Tizen::Base::String& clientChannelId, Tizen::Base::Collection::IList* pArgs) = 0;
70
71
72 protected:
73         //
74         // This method is for internal use only.
75         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
76         //
77         // This method is reserved and may change its name at any time without prior notice.
78         //
79         // @since           2.0
80         //
81         virtual void IChannelRequestEventListener_Reserved1(void) {}
82
83         //
84         // This method is for internal use only.
85         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
86         //
87         // This method is reserved and may change its name at any time without prior notice.
88         //
89         // @since           2.0
90         //
91         virtual void IChannelRequestEventListener_Reserved2(void) {}
92 }; // IChannelRequestEventListener
93
94 } } // Tizen::Io
95
96 #endif // _FIO_ICHANNEL_REQUESTEVENT_LISTENER_H_