mmserv/sts/stsproxy/src/stsimplementation.cpp
changeset 20 b67dd1fc57c5
child 36 73253677b50a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/sts/stsproxy/src/stsimplementation.cpp	Fri May 14 18:19:45 2010 -0500
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * The file provides the actual implementation of the STS API.
+ * All of the STS API methods are implemented by passing the
+ * calls to the STS Server through the client side STS
+ * Session.
+ */
+
+//  Include Files  
+#include "stsimplementation.h"
+#include "rstssession.h"
+
+//  Member Functions
+/*static*/CStsImplementation* CStsImplementation::Create()
+    {
+    CStsImplementation* self = new CStsImplementation();
+    if (self != 0)
+        {
+        bool successful = self->Init();
+        if (!successful)
+            {
+            delete self;
+            self = 0;
+            }
+        }
+    return self;
+    }
+
+CStsImplementation::CStsImplementation() :
+    iSession(NULL)
+    {
+    }
+
+CStsImplementation::~CStsImplementation()
+    {
+    iSession->Close();
+    delete iSession;
+    }
+
+bool CStsImplementation::Init()
+    {
+    bool result = false;
+    iSession = new RStsSession();
+    if (iSession)
+        {
+        TInt err = iSession->Connect();
+        result = err == KErrNone;
+        }
+    return result;
+    }
+
+void CStsImplementation::PlayTone(CSystemToneService::TToneType aTone)
+    {
+    iSession->SendPlayTone(aTone);
+    }
+
+void CStsImplementation::PlayAlarm(CSystemToneService::TAlarmType aAlarm,
+        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
+    {
+    //TODO: Add logging and error checking
+    iSession->SendPlayAlarm(aAlarm, aAlarmContext, aObserver);
+    }
+
+void CStsImplementation::StopAlarm(unsigned int aAlarmContext)
+    {
+    //TODO: Add logging and error checking
+    iSession->SendStopAlarm(aAlarmContext);
+    }