-#ifndef __DALI_CALLBACK_MANAGER_H__
-#define __DALI_CALLBACK_MANAGER_H__
+#ifndef __DALI_INTERNAL_CALLBACK_MANAGER_H__
+#define __DALI_INTERNAL_CALLBACK_MANAGER_H__
/*
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
*/
// EXTERNAL INCLUDES
-#include <boost/function.hpp>
#include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/signals/callback.h>
namespace Dali
{
/**
* Abstract interface to install call backs in to an applications main loop.
*/
-class DALI_IMPORT_API CallbackManager
+class CallbackManager
{
public:
- typedef boost::function<void(void)> Callback; ///< Callback typedef
-
- /**
- * Determines the priority of the call back
- */
- enum Priority
- {
- IDLE_PRIORITY, ///< idle priority
- DEFAULT_PRIORITY, ///< priority of the callback will be the same as input handlers and timer callbacks.
- };
-
- /**
- * Controls whether an event once processed by the handler is passed on to other
- * handlers, or not.
- */
- enum EventControl
- {
- CALLBACK_PASS_ON, ///< Pass the event on to any other handlers registered for this event
- CALLBACK_DONE, ///< Don't pass the event to any other handlers
- };
-
/**
* Create a new call back interface
*/
virtual ~CallbackManager() {}
/**
- * Adds a call back asynchronously.
- * Can be called from any thread.
+ * Adds a call back to be run on idle.
+ * Must be call from main thread only.
* @param callback custom call back function
* @param priority call back priority
* @return true on success
*/
- virtual bool AddCallback( Callback callback, Priority priority ) = 0;
-
- /**
- * Adds a call back asynchronously to handle an event.
- * E.g. to handle a CTRL-C event.
- * Can be called from any thread.
- * @param callback custom call back function
- * @return true on success
- */
- virtual bool AddEventCallback( Callback callback, int type, EventControl control ) = 0;
+ virtual bool AddIdleCallback( CallbackBase* callback ) = 0;
/**
* Starts the callback manager.
} // namespace Dali
-#endif // __DALI_CALLBACK_MANAGER_H__
+#endif // __DALI_INTERNAL_CALLBACK_MANAGER_H__