applicationmanagement/server/src/AMSmlHelper.cpp
changeset 18 7d11f9a6646f
parent 4 75a71fdb4c92
child 21 c707676bf59f
--- a/applicationmanagement/server/src/AMSmlHelper.cpp	Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
- * Copyright (c) 2000 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: Implementation of applicationmanagement components
- *
- */
-
-#include "amsmlhelper.h"
-#include <SyncMLClientDM.h>
-#include "debug.h"
-#include <rconnmon.h> 
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <es_sock.h>
-#else
-#include <es_sock.h>
-#include <es_enum_internal.h>
-#include <es_sock_partner.h>
-#endif
-#include <es_enum.h>
-
-const TUid KUidNSmlMediumTypeInternet =
-    {
-    0x101F99F0
-    };
-const TUid KSosServerUid =
-    {
-    0x101F99FB
-    };
-
-const TInt KBufSize32 = 32;
-
-using namespace NApplicationManagement;
-
-/*
- void CApplicationManagementServer::StartDMSessionL( )
- {
- RSyncMLSession ses;
- ses.OpenL() ;
- 
- CleanupClosePushL( ses );
- TSmlJobId jid;
- TSmlUsageType jtype;
- ses.CurrentJobL(jid, jtype );
- RSyncMLDevManJob job;
- job.OpenL( ses, jid );
- CleanupClosePushL( job ) ;
- TSmlProfileId pid( job.Profile() );
- RSyncMLDevManProfile prof;
- prof.OpenL( ses, pid, ESmlOpenRead );
- 
- TBuf<64> serverid;
- serverid.Copy( prof.ServerId()) ;
- prof.Close();
- 
- CleanupStack::PopAndDestroy( &job )	;
- CleanupStack::PopAndDestroy( &ses )	;
- }
- */
-
-TInt SmlHelper::GetCurrentProfileIdL(TSmlProfileId &aProfile)
-    {
-    RSyncMLSession ses;
-    ses.OpenL() ;
-    CleanupClosePushL(ses);
-    TSmlJobId jid;
-    TSmlUsageType jtype;
-    ses.CurrentJobL(jid, jtype);
-    RSyncMLDevManJob job;
-    job.OpenL(ses, jid);
-    CleanupClosePushL(job) ;
-    TSmlProfileId pid(job.Profile() );
-    aProfile = pid;
-
-    CleanupStack::PopAndDestroy( &job) ;
-    CleanupStack::PopAndDestroy( &ses) ;
-    return 0;
-    }
-
-HBufC8* SmlHelper::GetCurrentServerIDL()
-    {
-    HBufC8 *serverid;
-    //TBufC<256> serverid;
-    RSyncMLSession ses;
-    ses.OpenL() ;
-    CleanupClosePushL(ses);
-    TSmlJobId jid;
-    TSmlUsageType jtype;
-    ses.CurrentJobL(jid, jtype);
-    RSyncMLDevManJob job;
-    job.OpenL(ses, jid);
-    CleanupClosePushL(job) ;
-    TSmlProfileId pid(job.Profile() );
-    //aProfile = pid;
-    RSyncMLDevManProfile syncProfile;
-    syncProfile.OpenL(ses, pid);
-    RDEBUG("	5/8");
-    CleanupClosePushL(syncProfile);
-
-    serverid = syncProfile.ServerId().AllocLC();
-
-    CleanupStack::Pop(); // serverid
-
-    CleanupStack::PopAndDestroy( &syncProfile);
-    CleanupStack::PopAndDestroy( &job) ;
-    CleanupStack::PopAndDestroy( &ses) ;
-
-    return serverid;
-    }
-
-TInt SmlHelper::LaunchSessionL(TSmlProfileId &aProfile)
-    {
-    if (aProfile > -1)
-        {
-        RSyncMLSession syncSession;
-        RSyncMLConnection conn;
-        RSyncMLDevManJob dmJob;
-        RSyncMLDevManProfile dmProfile;
-
-        //TSmlProfileId id ;
-        TSmlConnectionId cid;
-        syncSession.OpenL();
-        CleanupClosePushL(syncSession);
-
-        TRAPD( err, dmProfile.OpenL( syncSession, aProfile, ESmlOpenRead ) )
-        if (err == KErrNone)
-            {
-            CleanupClosePushL(dmProfile);
-            conn.OpenL(dmProfile, KUidNSmlMediumTypeInternet.iUid);
-            CleanupStack::PopAndDestroy( &dmProfile) ;
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-            cid = conn.Identifier();
-#else
-            cid = conn.ConnectionId();
-#endif
-            conn.Close();
-            dmJob.CreateL(syncSession, aProfile, cid);
-            dmJob.Close();
-            }
-        CleanupStack::PopAndDestroy( &syncSession) ; //
-        return err;
-        }
-    else
-        {
-        return KErrArgument;
-        }
-    }
-
-void SmlHelper::GetDefaultIAPFromDMProfileL(TInt& aDefaultIAP)
-    {
-    RDEBUG("ApplicationManagementServer::GetDefaultIAPFromDMProfileL() - start");
-
-    // first try to obtain the current profile id
-    RSyncMLSession ses;
-    ses.OpenL();
-    RDEBUG("	1/8");
-    CleanupClosePushL(ses);
-
-    TSmlJobId jid;
-    TSmlUsageType jtype;
-    ses.CurrentJobL(jid, jtype);
-    RDEBUG("	2/8");
-    RSyncMLDevManJob job;
-    job.OpenL(ses, jid);
-    RDEBUG("	3/8");
-    CleanupClosePushL(job);
-    // get profile id
-    TSmlProfileId pid(job.Profile() );
-    CleanupStack::PopAndDestroy( &job);
-
-    TBuf8<KBufSize32> key;
-    TBuf<KBufSize32> value;
-    TInt num = KErrNotFound;
-
-    // get connection property name first
-    GetConnectionPropertyNameL(ses, key, EPropertyIntenetAccessPoint);
-    RDEBUG("	4/8");
-    // we need to open sync profile in ordere to open the RSyncMLConnection
-    RSyncMLDevManProfile syncProfile;
-    syncProfile.OpenL(ses, pid);
-    RDEBUG("	5/8");
-    CleanupClosePushL(syncProfile);
-
-    TSmlTransportId transport;
-    RArray<TSmlTransportId> connections;
-    _LIT8( KNSmlIAPId, "NSmlIapId" );
-
-    // now open the syncML connection
-    RSyncMLConnection syncConnection;
-    syncProfile.ListConnectionsL(connections);
-
-    transport = connections[0];
-    syncConnection.OpenL(syncProfile, transport);
-    RDEBUG("	6/8");
-    CleanupClosePushL(syncConnection);
-
-    const TDesC8& source(syncConnection.GetPropertyL(KNSmlIAPId) );
-    RDEBUG("	7/8");
-    value.Copy(source.Left(value.MaxLength() ) );
-    User::LeaveIfError(StrToInt(value, num) );
-    RDEBUG("	8/8");
-
-    aDefaultIAP = num;
-
-    // If there is no default Access point in DM profile then use
-    // currently used access point by DM session
-
-    if (aDefaultIAP == -1)
-        {
-
-        TInt sockIapid = -1;
-
-        RSocketServ serv;
-        CleanupClosePushL(serv);
-        User::LeaveIfError(serv.Connect() );
-
-        RConnection conn;
-        CleanupClosePushL(conn);
-        User::LeaveIfError(conn.Open(serv) );
-
-        TUint count( 0);
-        User::LeaveIfError(conn.EnumerateConnections(count) );
-        // enumerate connections
-        for (TUint idx=1; idx<=count; ++idx)
-            {
-            TConnectionInfo connectionInfo;
-            TConnectionInfoBuf connInfo(connectionInfo);
-
-            TInt err = conn.GetConnectionInfo(idx, connInfo); // iapid
-            if (err != KErrNone)
-                {
-                CleanupStack::PopAndDestroy( 2); // conn, serv
-                User::Leave(err);
-                }
-            // enumerate connectionclients
-            TConnectionEnumArg conArg;
-            conArg.iIndex = idx;
-            TConnEnumArgBuf conArgBuf(conArg);
-            err=conn.Control(KCOLConnection, KCoEnumerateConnectionClients,
-                    conArgBuf);
-            if (err != KErrNone)
-                {
-                CleanupStack::PopAndDestroy( 2); // conn, serv
-                User::Leave(err);
-                }
-            TInt cliCount = conArgBuf().iCount;
-            for (TUint j=1; j<=cliCount; ++j)
-                {
-                TConnectionGetClientInfoArg conCliInfo;
-                conCliInfo.iIndex = j;
-                TConnGetClientInfoArgBuf conCliInfoBuf(conCliInfo);
-                err=conn.Control(KCOLConnection, KCoGetConnectionClientInfo,
-                        conCliInfoBuf);
-
-                if (err != KErrNone)
-                    {
-                    CleanupStack::PopAndDestroy( 2); // conn, serv
-                    User::Leave(err);
-                    }
-                TConnectionClientInfo conCliInf = conCliInfoBuf().iClientInfo;
-                TUid uid = conCliInf.iUid;
-                if (uid == KSosServerUid)
-                    {
-                    sockIapid = connInfo().iIapId;
-
-                    }
-
-                }
-            }
-        CleanupStack::PopAndDestroy( 2); // conn, serv		
-
-        aDefaultIAP = sockIapid;
-
-        }
-    // get profile's server id
-    //aServerId = syncProfile.ServerId().AllocL();
-
-    CleanupStack::PopAndDestroy( &syncConnection);
-    CleanupStack::PopAndDestroy( &syncProfile);
-
-    CleanupStack::PopAndDestroy( &ses);
-    connections.Close();
-    RDEBUG("ApplicationManagementServer::GetDefaultIAPFromDMProfileL() - end");
-    }
-
-void SmlHelper::GetConnectionPropertyNameL(RSyncMLSession& aSyncSession,
-        TDes8& aText, TInt aPropertyPos)
-    {
-    RDEBUG("ApplicationManagementServer::GetConnectionPropertyNameL() - start");
-
-    // at the moment RSyncMLTransport is only needed
-    // for internet connection settings
-    RSyncMLTransport transport;
-    CleanupClosePushL(transport);
-    transport.OpenL(aSyncSession, KUidNSmlMediumTypeInternet.iUid);
-
-    const CSyncMLTransportPropertiesArray& arr = transport.Properties();
-
-    __ASSERT_DEBUG( arr.Count()> aPropertyPos, User::Panic(_L("invalid count"), KErrGeneral) );
-
-    const TSyncMLTransportPropertyInfo& info = arr.At(aPropertyPos);
-    aText = info.iName;
-    CleanupStack::PopAndDestroy( &transport);
-
-    RDEBUG("ApplicationManagementServer::GetConnectionPropertyNameL() - end");
-    }
-
-TInt SmlHelper::StrToInt(const TDesC& aText, TInt& aNum)
-    {
-    TLex lex(aText);
-    TInt err = lex.Val(aNum);
-    return err;
-    }
-
-// End of File