remotemgmt_plat/terminal_security_device_lock_api/inc/TerminalControl3rdPartyAPI.h
changeset 0 b497e44ab2fc
child 24 13d7c31c74e0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/terminal_security_device_lock_api/inc/TerminalControl3rdPartyAPI.h	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2005 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: definition of dm constants/exported methods
+* 	This is part of remotemgmt_plat.
+*
+*/
+
+
+#ifndef __TERMINALCONTROL3RDPARTYAPI_H__
+#define __TERMINALCONTROL3RDPARTYAPI_H__
+
+#include <e32std.h>
+#include <TerminalControl.h>
+
+class RTerminalControl3rdPartySession : public RSubSessionBase
+	{
+	public:
+
+	    enum TTerminalControl3rdPartyMessages
+	 	    {
+	 	    // Autolock timeout. Values in minutes.  When != 0 the lock is enabled, When = 0 the lock is of
+	 	    ETimeout = 1000,        
+	 	    
+	 	    // Maximum autolock timeout value. 
+	 	    // 0 = Not in use
+	 	    EMaxTimeout,            
+	 	    // Passcode. Return value not supported
+	 	    EPasscode,              
+	 	    // 0 = passcode free. When != 0 the passcode can not be changed
+	 	    EPasscodePolicy,        
+	 	    // Lock the terminal immediately. Return value not supported
+	 	    ELock,                  
+	 	    // When != 0 the Device is wiped
+	 	    EDeviceWipe,            
+
+// enums below valid when the __SAP_DEVICE_LOCK_ENHANCEMENTS flag is on, otherwise KErrNotSupported is returned
+//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
+
+		    // 4-256 characters
+		    EPasscodeMinLength,		 
+		    // 4-256 characters
+		    EPasscodeMaxLength,		 
+		    // 0 = No restriction, 1 = Both upper and lower case letters 
+		    // are required in the password
+		    EPasscodeRequireUpperAndLower,	 
+		    // 0 = No restriction, 1 = Both characters and numbers are 
+		    // required in the password
+		    EPasscodeRequireCharsAndNumbers, 
+		    // 0 = No restriction, 1-4 = A single character cannot be used 
+		    // more than X times in the password	
+		    EPasscodeMaxRepeatedCharacters,  
+
+		    // 0 = No restriction, 1-X = The new password cannot match 
+		    // the previous X passwords
+		    EPasscodeHistoryBuffer,		 
+
+		    // 0 = No restriction, 1-365 = The password expires after X days, 
+		    // and must be changed by the user
+		    // -1 = password expires immediately
+		    EPasscodeExpiration,            
+
+		    // 0-HistoryBuffer = The user can change the password only X times before 
+		    // EPasscodeMinChangeInterval hours have passed (default 0).
+		    EPasscodeMinChangeTolerance,     
+		    // 0 = No restriction, 1-1000 = The user cannot change the password
+		    // more than EPasscodeMinChangeTolerance times before X hours have 
+		    // passed since the previous change.
+		    EPasscodeMinChangeInterval,      
+
+		    // 0 = No restriction, 1 = The password cannot match a string in the set of strings 
+		    // given by the next three calls.
+		    EPasscodeCheckSpecificStrings,   
+		    // Disallow the specific string/strings given.
+		    // Individual strings can be separated with ";".
+		    EPasscodeDisallowSpecific,	 
+		    // Re-allow the specific string/strings given. 
+		    // Individual strings can be separated with ";".
+		    EPasscodeAllowSpecific,          
+		    // Clear the specific string -buffer
+		    EPasscodeClearSpecificStrings,	 
+
+		    // 0 = No restriction, 3-100 = The device is "hard" reset after the user has 
+		    // consecutively failed X times to answer the password query
+		    EPasscodeMaxAttempts,		 
+		    
+		    // 0 = No restriction, 1 = The password cannot contain two consecutive numbers.	    
+	    	EPasscodeConsecutiveNumbers,
+	    	
+		    // 0 = No restriction, 1-255 = The password should contain at least 
+		    // X number of special characters.	
+		    EPasscodeMinSpecialCharacters,  
+	    	
+	    	EPasscodeDisallowSimple,
+
+//#endif
+
+	 	    ELast = 2000
+	 	    };
+
+	public:
+
+	    /**
+		* Connect Open client side session
+		* @param aServer Reference to connected RTerminalControl
+	   	* @return KErrNone Symbian error code
+       	   */
+		IMPORT_C TInt Open(RTerminalControl &aServer);
+
+		/**
+		* Close Close session
+   		 */
+		IMPORT_C void Close();
+
+		/**
+		SetDeviceLockParameter
+		@param aType see TTerminalControl3rdPartyMessages (documentation) for supported values
+		@param aData possible data for the message
+		@return KErrNone Symbian error code
+		*/
+
+		IMPORT_C TInt SetDeviceLockParameter(TInt aType, const TDesC8& aData);
+
+		/**
+		GetDeviceLockParameterSize
+		@param aType see TTerminalControl3rdPartyMessages (documentation) for supported values
+		@return Size of parameter bytes or KErrNone Symbian error code in case of type not exist or in case of error
+		*/
+
+		IMPORT_C TInt GetDeviceLockParameterSize(TInt aType);
+
+		/**
+		GetDeviceLockParameter
+		@param aType see TTerminalControl3rdPartyMessages (documentation) for supported values
+		@param aData returns current parameter data 
+		@return KErrNone Symbian error code
+		*/
+
+		IMPORT_C TInt GetDeviceLockParameter(TInt aType, TDes8& aData);
+
+	};
+
+#endif //__TERMINALCONTROL3RDPARTYAPI_H__
\ No newline at end of file