internal sealed class ProcessorController : Disposable
{
private static ProcessorController instance = null;
+ private bool initialied = false;
private ProcessorController() : this(Interop.ProcessorController.New(), true)
{
internal ProcessorController(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
{
- onceEventIndex = 0u;
- internalProcessorOnceEvent = new EventHandler[2];
- internalProcessorOnceEvent[0] = null;
- internalProcessorOnceEvent[1] = null;
-
- processorCallback = new ProcessorEventHandler(Process);
- Interop.ProcessorController.SetCallback(SwigCPtr, processorCallback);
}
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void ProcessorEventHandler();
private ProcessorEventHandler processorCallback = null;
public event EventHandler ProcessorEvent;
public event EventHandler LayoutProcessorEvent;
+ public bool Initialized => initialied;
+
public static ProcessorController Instance
{
get
}
}
+ public void Initialize()
+ {
+ if (initialied == false)
+ {
+ initialied = true;
+
+ Interop.ProcessorController.Initialize(SwigCPtr);
+
+ onceEventIndex = 0u;
+ internalProcessorOnceEvent = new EventHandler[2];
+ internalProcessorOnceEvent[0] = null;
+ internalProcessorOnceEvent[1] = null;
+
+ processorCallback = new ProcessorEventHandler(Process);
+ Interop.ProcessorController.SetCallback(SwigCPtr, processorCallback);
+ NDalicPINVOKE.ThrowExceptionIfExists();
+ }
+ }
+
public void Process()
{
// Let us add once event into 1 index during 0 event invoke
public void Awake()
{
Interop.ProcessorController.Awake(SwigCPtr);
+ NDalicPINVOKE.ThrowExceptionIfExists();
}
} // class ProcessorController
} // namespace Tizen.NUI