[ekiga] Made opal presence mostly work



commit 24722a6cd586ffb48cdfd764c67e10cf2beb7b25
Author: Snark <jpuydt gnome org>
Date:   Thu Mar 31 16:06:55 2011 +0200

    Made opal presence mostly work

 lib/engine/components/opal/opal-account.cpp |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-account.cpp b/lib/engine/components/opal/opal-account.cpp
index 846fc66..4e70556 100644
--- a/lib/engine/components/opal/opal-account.cpp
+++ b/lib/engine/components/opal/opal-account.cpp
@@ -507,7 +507,13 @@ Opal::Account::publish (const Ekiga::PersonalDetails& details)
     // FIXME: complete!
     if (presence == "online")
       personal_state = OpalPresenceInfo::Available;
+    if (presence == "away")
+      personal_state = OpalPresenceInfo::Away;
+    if (presence == "dnd")
+      personal_state = OpalPresenceInfo::Busy;
 
+
+    std::cout << "internal presence: " << presence << std::endl;
     std::cout << "calling SetLocalPresence for " << get_aor ()
 	      << " with presence " << personal_state
 	      << " and status \"" << details.get_status () << "\""
@@ -662,13 +668,17 @@ Opal::Account::OnPresenceChange (OpalPresentity& /*presentity*/,
   case OpalPresenceInfo::Unavailable:
     presence = "offline";
     break;
+  case OpalPresenceInfo::Away:
+    presence = "away";
+    break;
+  case OpalPresenceInfo::Busy:
+    presence = "dnd";
+    break;
 
   case OpalPresenceInfo::Available:
   case OpalPresenceInfo::UnknownExtended:
   case OpalPresenceInfo::Appointment:
-  case OpalPresenceInfo::Away:
   case OpalPresenceInfo::Breakfast:
-  case OpalPresenceInfo::Busy:
   case OpalPresenceInfo::Dinner:
   case OpalPresenceInfo::Holiday:
   case OpalPresenceInfo::InTransit:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]