--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rtsecuritymanager/rtsecuritymanagerserver/inc/rtsecmgrprotectiondomain.h Mon Mar 30 12:51:20 2009 +0300
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2007-2008 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: Definition of security protection domain
+ *
+*/
+
+
+
+
+
+
+#ifndef C_RTSECMGRPROTECTIONDOMAIN_H
+#define C_RTSECMGRPROTECTIONDOMAIN_H
+
+#include <e32capability.h>
+#include <rtsecmgrutility.h>
+#include <rtsecmgrscript.h>
+#include "rtsecmgrdef.h"
+
+/*
+ * Models a protection domain. A protection domain is part of a security policy.
+ * A security policy could have more than one protection domain.
+ *
+ * Every protection domain has a name, list of unconditionally allowed permissions
+ * and set of user grantable permissions.
+ *
+ * @see CPermissionSet
+ *
+ * @exe rtsecmgrserver.exe
+ *
+ */
+NONSHARABLE_CLASS(CProtectionDomain) : public CBase
+ {
+public:
+
+ /**
+ * Two-phased constructor
+ *
+ * Constructs a CProtectionDomain instance
+ *
+ * @return CProtectionDomain* pointer to an instance of CProtectionDomain
+ */
+ static CProtectionDomain* NewL();
+
+ /**
+ * Two-phased constructor
+ *
+ * Constructs a CProtectionDomain instance and leaves the created instance
+ * on the cleanupstack
+ *
+ * @return CProtectionDomain* pointer to an instance of CProtectionDomain
+ */
+ static CProtectionDomain* NewLC();
+
+ /**
+ * Two-phased constructor
+ *
+ * Constructs a CProtectionDomain instance from the input
+ * read source
+ *
+ * @param aSource RStoreReadStream& Input readable source
+ *
+ * @return CProtectionDomain* pointer to an instance of CProtectionDomain
+ */
+ static CProtectionDomain* NewL(RStoreReadStream& aSource);
+
+ /**
+ * Two-phased constructor
+ *
+ * Constructs a CProtectionDomain instance from the input
+ * read source and leaves the created instance on the cleanup
+ * stack
+ *
+ * @param aSource RStoreReadStream& Input readable source
+ *
+ * @return CProtectionDomain* pointer to an instance of CProtectionDomain
+ */
+ static CProtectionDomain* NewLC(RStoreReadStream& aSource);
+
+ /**
+ * Destructor
+ *
+ * Performs clean-up of domain name descriptor and
+ * permission set
+ *
+ */
+ ~CProtectionDomain();
+
+ /**
+ * Gets underlying permission set instance
+ *
+ * @return const CPermissionSet& permission set instance
+ *
+ */
+ inline const CPermissionSet& PermSet() const;
+
+ /**
+ * Gets domain name
+ *
+ * @return const TDesC& domain name
+ *
+ */
+ inline const TDesC& DomainName() const;
+
+ /**
+ * Sets domain name
+ *
+ * @param aDomainName const TDesC& input domain name string
+ */
+ inline void SetDomainName(const TDesC& aDomainName);
+
+ /**
+ * Sets permission set
+ *
+ * @param aPermissionSet CPermissionSet* input permission set
+ */
+ inline void SetCapInfo(CPermissionSet* aPermissionSet);
+
+ /**
+ * Externalises CProtectionDomain data to writable output stream
+ *
+ * @param aSink RStoreWriteStream& writable output stream
+ */
+ void ExternalizeL(RStoreWriteStream& aSink) const;
+
+ /**
+ * Internalises CProtectionDomain data from readble input stream
+ *
+ * @param aSource RStoreReadStream& readble input stream
+ */
+ void InternalizeL(RStoreReadStream& aSource);
+
+private:
+ /**
+ * Default private constructor
+ *
+ */
+ inline CProtectionDomain();
+
+ /**
+ * Two phased constructor
+ *
+ */
+ inline void ConstructL();
+
+private:
+ /*
+ * Domain name
+ *
+ * Own.
+ */
+ HBufC* iDomain;
+
+ /*
+ * Permissionset instance
+ *
+ * Own.
+ */
+ CPermissionSet* iPermSet;
+ };
+
+#include "rtsecmgrprotectiondomain.inl"
+
+#endif //C_RTSECMGRPROTECTIONDOMAIN_H
+