Revert "[Tizen] fixed argument for debug api (related to windows backend)"
[platform/core/uifw/dali-core.git] / dali / integration-api / core.h
index 002621c..3386247 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTEGRATION_CORE_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -168,6 +168,23 @@ private:
 };
 
 /**
+ * Interface to enable classes to be processed after the event loop. Classes are processed
+ * in the order they are registered.
+ */
+class DALI_CORE_API Processor
+{
+public:
+  /**
+   * @brief Run the processor
+   */
+  virtual void Process() = 0;
+
+protected:
+  virtual ~Processor() { }
+};
+
+
+/**
  * Integration::Core is used for integration with the native windowing system.
  * The following integration tasks must be completed:
  *
@@ -202,7 +219,7 @@ private:
  * This is the recommended option, so that input processing will not affect the smoothness of animations.
  * Note that the rendering thread must be halted, before destroying the GL context.
  */
-class DALI_IMPORT_API Core
+class DALI_CORE_API Core
 {
 public:
 
@@ -398,6 +415,20 @@ public:
    */
   float GetStereoBase() const;
 
+  /**
+   * @brief Register a processor
+   *
+   * Note, Core does not take ownership of this processor.
+   * @param[in] processor The process to register
+   */
+  void RegisterProcessor( Processor& processor );
+
+  /**
+   * @brief Unregister a processor
+   * @param[in] processor The process to unregister
+   */
+  void UnregisterProcessor( Processor& processor );
+
 private:
 
   /**