License conversion from Flora to Apache 2.0
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-clipboard-event-notifier.cpp
1 /*
2  * Copyright (c) 2014 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
18 #include "toolkit-clipboard-event-notifier.h"
19
20 #include <dali/public-api/common/dali-common.h>
21 #include <dali/public-api/object/base-object.h>
22 #include <dali/public-api/signals/dali-signal-v2.h>
23
24 namespace Dali
25 {
26
27 namespace
28 {
29 ToolkitClipboardEventNotifier* gToolkitClipboardEventNotifier(NULL);
30 } // unnamed namespace
31
32 namespace Internal
33 {
34
35 namespace Adaptor
36 {
37
38 /**
39  * Stub for the ClipboardEventNotifier
40  */
41 class ClipboardEventNotifier : public BaseObject
42 {
43 public: // Creation & Destruction
44
45   static Dali::ClipboardEventNotifier Get();
46
47   ClipboardEventNotifier();
48   ClipboardEventNotifier(ToolkitClipboardEventNotifier *clipboardEventNotifier);
49   ~ClipboardEventNotifier();
50
51 public: // Signals
52
53   Dali::ClipboardEventNotifier::ClipboardEventSignalV2& SignalContentSelected()
54   {
55     return mClipboardSignal;
56   }
57
58 private:
59
60   ToolkitClipboardEventNotifier* mToolkitClipboardEventNotifier;
61   Dali::ClipboardEventNotifier::ClipboardEventSignalV2 mClipboardSignal;
62
63 };
64
65 Dali::ClipboardEventNotifier ClipboardEventNotifier::Get()
66 {
67   return gToolkitClipboardEventNotifier->GetClipboardEventNotifier();
68 }
69
70 ClipboardEventNotifier::ClipboardEventNotifier()
71 : mToolkitClipboardEventNotifier(NULL)
72 {
73 }
74
75 ClipboardEventNotifier::ClipboardEventNotifier(ToolkitClipboardEventNotifier *clipboardEventNotifier)
76 : mToolkitClipboardEventNotifier(clipboardEventNotifier)
77 {
78 }
79
80 ClipboardEventNotifier::~ClipboardEventNotifier()
81 {
82 }
83
84 } // namespace Adaptor
85
86 } // namespace Internal
87
88 ////////////////////////////////////////////////////////////////////////////////////////////////////
89
90 ToolkitClipboardEventNotifier::ToolkitClipboardEventNotifier()
91 : mClipboardEventNotifierStub(new Internal::Adaptor::ClipboardEventNotifier(this)),
92   mClipboardEventNotifier( mClipboardEventNotifierStub )
93 {
94   gToolkitClipboardEventNotifier = this;
95 }
96
97 ToolkitClipboardEventNotifier::~ToolkitClipboardEventNotifier()
98 {
99   gToolkitClipboardEventNotifier = NULL;
100 }
101
102 ClipboardEventNotifier ToolkitClipboardEventNotifier::GetClipboardEventNotifier()
103 {
104   return mClipboardEventNotifier;
105 }
106
107 } // namespace Dali