Revert "License conversion from Flora to Apache 2.0"
[platform/core/uifw/dali-core.git] / dali / public-api / signals / signal-slot-connections.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 // CLASS HEADER
18 #include <dali/public-api/signals/signal-slot-connections.h>
19
20 // INTERNAL INCLUDES
21 #include <dali/public-api/signals/callback.h>
22
23 namespace Dali
24 {
25
26 SlotConnection::SlotConnection( SlotObserver* slotObserver, CallbackBase* callback )
27 : mSlotObserver( slotObserver ),
28   mCallback( callback )
29 {
30 }
31
32 SlotConnection::~SlotConnection()
33 {
34   // slot connections have ownership of the callback.
35   delete mCallback;
36 }
37
38 CallbackBase* SlotConnection::GetCallback()
39 {
40   return mCallback;
41 }
42
43 SlotObserver* SlotConnection::GetSlotObserver()
44 {
45   return mSlotObserver;
46 }
47
48 SignalConnection::SignalConnection( CallbackBase* callback )
49 : mSignalObserver( NULL ),
50   mCallback( callback )
51 {
52 }
53
54 SignalConnection::SignalConnection( SignalObserver* signalObserver, CallbackBase* callback )
55 : mSignalObserver( signalObserver ),
56   mCallback( callback )
57 {
58 }
59
60 SignalConnection::~SignalConnection()
61 {
62 }
63
64 void SignalConnection::Disconnect( SlotObserver* slotObserver )
65 {
66   if( mSignalObserver )
67   {
68     // tell the slot the signal wants to disconnect
69     mSignalObserver->SignalDisconnected( slotObserver, mCallback );
70     mSignalObserver = NULL;
71   }
72
73   mCallback = NULL;
74 }
75
76 CallbackBase* SignalConnection::GetCallback()
77 {
78   return mCallback;
79 }
80
81 } // namespace Dali