ringd: adds account adding as a task handler request option

- adds AddRingAccount and AddSIPAccount as task request options
  so accounts can be created from outside ringd's thread

Change-Id: Idcdd54ce5533779a49338e34515381a300782163
Tuleap: #986
diff --git a/RingD.cpp b/RingD.cpp
index c69845c..00eccbb 100644
--- a/RingD.cpp
+++ b/RingD.cpp
@@ -200,10 +200,8 @@
         else {

             if (!hasConfig)

             {

-                std::map<std::string, std::string> ringAccountDetails;

-                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName));

-                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"RING"));

-                DRing::addAccount(ringAccountDetails);

+                tasksList_.push(ref new RingD::Task(Request::AddRingAccount));

+                tasksList_.push(ref new RingD::Task(Request::AddSIPAccount));

             }

             else {

                 CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal,

@@ -233,6 +231,23 @@
         auto task = tasksList_.front();

         switch (task->request) {

         case Request::None:

+            break;

+        case Request::AddRingAccount:

+            {

+                std::map<std::string, std::string> ringAccountDetails;

+                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName));

+                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"RING"));

+                DRing::addAccount(ringAccountDetails);

+            }

+            break;

+        case Request::AddSIPAccount:

+            {

+                std::map<std::string, std::string> sipAccountDetails;

+                sipAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName + " (SIP)"));

+                sipAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"SIP"));

+                DRing::addAccount(sipAccountDetails);

+            }

+            break;

         default:

             break;

         }