change a property to a method for exception handling (#46)
authorjkkoo <31691679+jkkoo@users.noreply.github.com>
Thu, 18 Jan 2018 04:07:31 +0000 (13:07 +0900)
committerGitHub <noreply@github.com>
Thu, 18 Jan 2018 04:07:31 +0000 (13:07 +0900)
src/Tizen.Messaging/Tizen.Messaging.Messages/MessagesManager.cs
src/Tizen.Messaging/Tizen.Messaging.Messages/MessagesManagerImpl.cs

index ce41df0..ae395bb 100755 (executable)
@@ -41,7 +41,7 @@ namespace Tizen.Messaging.Messages
         /// <since_tizen> 3 </since_tizen>
         public static Task<SentResult> SendMessageAsync(Message message, bool saveToSentbox)
         {
-            return MessagesManagerImpl.Instance.SendMessageAsync(message, saveToSentbox);
+            return MessagesManagerImpl.GetInstance().SendMessageAsync(message, saveToSentbox);
         }
 
         /// <summary>
@@ -58,7 +58,7 @@ namespace Tizen.Messaging.Messages
         /// <since_tizen> 3 </since_tizen>
         public static Task<IEnumerable<Message>> SearchMessageAsync(MessagesSearchFilter filter)
         {
-            return MessagesManagerImpl.Instance.SearchMessageAsync(filter);
+            return MessagesManagerImpl.GetInstance().SearchMessageAsync(filter);
         }
 
         /// <summary>
@@ -70,11 +70,11 @@ namespace Tizen.Messaging.Messages
         {
             add
             {
-                MessagesManagerImpl.Instance._MessageReceived += value;
+                MessagesManagerImpl.GetInstance()._MessageReceived += value;
             }
             remove
             {
-                MessagesManagerImpl.Instance._MessageReceived -= value;
+                MessagesManagerImpl.GetInstance()._MessageReceived -= value;
             }
         }
     }
index 63cd9fc..580a616 100755 (executable)
@@ -27,21 +27,13 @@ namespace Tizen.Messaging.Messages
 
     internal partial class MessagesManagerImpl : IDisposable
     {
-        private static readonly MessagesManagerImpl _instance = new MessagesManagerImpl();
+        private static readonly MessagesManagerImpl _instance = null;
         private bool disposed = false;
 
         private static IntPtr _MessageServiceHandle;
 
         private Interop.Messages.MessageSentCallback _messageSentCallback;
 
-        internal static MessagesManagerImpl Instance
-        {
-            get
-            {
-                return _instance;
-            }
-        }
-
         private MessagesManagerImpl()
         {
             initialize();
@@ -101,6 +93,15 @@ namespace Tizen.Messaging.Messages
             }
         }
 
+        internal static MessagesManagerImpl GetInstance()
+        {
+            if (null == _instance)
+                return new MessagesManagerImpl();
+            else
+                return _instance;
+
+        }
+
         internal Task<SentResult> SendMessageAsync(Message message, bool saveToSentbox)
         {
             var task = new TaskCompletionSource<SentResult>();