1 #ifndef __DALI_INTERNAL_PROPERTY_NOTIFIER_H__
2 #define __DALI_INTERNAL_PROPERTY_NOTIFIER_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
21 #include <dali/internal/common/message.h>
32 class PropertyNotification;
34 } //namespace SceneGraph
37 * Interface used by the update-thread to trigger property changed notification signals.
39 class PropertyNotifier
46 virtual ~PropertyNotifier()
51 * Provide notification signals for a changed property.
52 * This method should be called in the event-thread; the update-thread must use PropertyChangedMessage.
53 * @param[in] propertyNotification A pointer to the SceneGraph::PropertyNotification that has been mnodified.
54 * @param[in] validity Passes in whether the notification was triggered by a true or false condition result
56 virtual void NotifyProperty( SceneGraph::PropertyNotification* propertyNotification, bool validity ) = 0;
60 * Notification message for when a property has been modified
61 * @param[in] notifier This will provide the notification signal.
63 inline MessageBase* PropertyChangedMessage( PropertyNotifier& notifier, SceneGraph::PropertyNotification* propertyNotification, bool validity )
65 return new MessageValue2< PropertyNotifier, SceneGraph::PropertyNotification*, bool >( ¬ifier,
66 &PropertyNotifier::NotifyProperty,
67 propertyNotification, validity);
70 } // namespace Internal
74 #endif // __DALI_INTERNAL_PROPERTY_NOTIFIER_H__