installationservices/swi/source/swiutils/swiutils.cpp
branchRCL_3
changeset 19 7ca52d38f8c3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swi/source/swiutils/swiutils.cpp	Mon Mar 15 12:41:05 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* 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 the License "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: 
+* swiutils.cpp
+*/
+
+#include <e32def.h>
+#include <e32cmn.h>
+#include <e32property.h> 
+#include <sacls.h>
+#include "swiutils.h"
+#include "log.h"
+
+namespace Swi{
+
+EXPORT_C TInt GetAllUids(RArray<TUid>& aUidList)
+    {
+    aUidList.Close();
+    
+    TBuf<KMaxUidCount*sizeof(TUid)> buf;
+    TInt err = RProperty::Get(KUidSystemCategory, KSWIUidsCurrentlyBeingProcessed, buf);
+    if(err != KErrNone)
+        {
+        DEBUG_PRINTF2(_L("RProperty::Get returned with err %d."), err);
+        return err;
+        }
+    
+	TInt count = 0;
+    TInt *bufPtr = (TInt*) buf.Ptr();
+    count = *bufPtr++;
+
+    TUid uid;    
+    for(TInt i = 0; i < count; ++i)
+        {
+        uid.iUid = *bufPtr++;
+        aUidList.Append(uid);
+        }
+
+    return KErrNone;
+    }
+}