diff -r 000000000000 -r b497e44ab2fc terminalsecurity/inc/TerminalControlClient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/terminalsecurity/inc/TerminalControlClient.h Thu Dec 17 09:07:52 2009 +0200 @@ -0,0 +1,374 @@ +/* +* 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 terminalsecurity components +* +*/ + + +#ifndef __TERMINALCONTROLCLIENT_H__ +#define __TERMINALCONTROLCLIENT_H__ + +// INCLUDES +#include +#include +#include "TerminalControl.h" +#include "TerminalControlClientServer.h" + +// CONSTANTS +_LIT8( KTCPathCDrive, "c:\\" ); + +// MACROS + +// DATA TYPES +typedef TBuf8 TFileName8; + +// FUNCTION PROTOTYPES +// FORWARD DECLARATIONS +// CLASS DECLARATION + +/** +* RTerminalControlSession class to handle terminal control sessions +*/ + +class RTerminalControlSession : public RSubSessionBase +{ + public: + //Session management + /** + * Connect Open client side session + * @param aServer Reference to connected RTerminalControl + * @return KErrNone Symbian error code + */ + IMPORT_C TInt Open(RTerminalControl &aServer, TCertInfo &aCertification ); + + /** + * Close Close session + */ + IMPORT_C void Close(); + + /** + * Scan files + */ + IMPORT_C TInt FileScan( const TDesC8& aStartPath = KTCPathCDrive(), TBool aRecursive=EFalse ); + + /** + * Get file scan results + */ + IMPORT_C TInt FileScanResultsL( CBufFlat* aBuffer ); + + /** + * Get file scan results size + */ + IMPORT_C TInt FileScanResultsSize( TInt &aSize ); + + /** + * Get file scan results size + */ + IMPORT_C TInt FileScanResultsSize( TDes8 &aSize ); + + /** + * Delete file + */ + IMPORT_C TInt DeleteFile( const TDesC8& aFileName ); + + /** + * Set device lock autolock period + */ + IMPORT_C TInt SetAutolockPeriod( TInt32 aPeriod ); + + /** + * Get device lock autolock period + */ + IMPORT_C TInt GetAutolockPeriod( TInt32 &aPeriod ); + + /** + * Set maximum device lock autolock period + */ + IMPORT_C TInt SetMaxAutolockPeriod( TInt32 aPeriod ); + + /** + * Get maximum device lock autolock period + */ + IMPORT_C TInt GetMaxAutolockPeriod( TInt32 &aPeriod ); + + /** + * Set device lock level + */ + IMPORT_C TInt SetDeviceLockLevel( TInt32 aLevel ); + + /** + * Get device lock level + */ + IMPORT_C TInt GetDeviceLockLevel( TInt32 &aLevel ); + + /** + * Set lock code + */ + IMPORT_C TInt SetDeviceLockCode( const TDesC8 &aCode ); + + /** + * Get lock code + */ + IMPORT_C TInt GetDeviceLockCode( TDesC8 &aCode ); + + /** + * Wipe device (factory reset) + */ + IMPORT_C TInt DeviceWipe( ); + + +// --------- Enhanced features BEGIN ------------------ +//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS + + /** + * Set the minimum length for passcode. + * 4-256 characters + */ + IMPORT_C TInt SetPasscodeMinLength( TInt32 aMinLength ); + + /** + * Get the minimum length for passcode. + * 4-256 characters + */ + IMPORT_C TInt GetPasscodeMinLength( TInt32& aMinLength ); + + /** + * Set the maximum length for passcode + */ + IMPORT_C TInt SetPasscodeMaxLength( TInt32 aMinLength ); + + /** + * Get the maximum length for passcode + */ + IMPORT_C TInt GetPasscodeMaxLength( TInt32& aMinLength ); + + + /** + * Set if upper and lower case letter are required in the passcode + */ + IMPORT_C TInt SetPasscodeRequireUpperAndLower( TBool aRequire ); + + /** + * Get if upper and lower case letter are required in the passcode + */ + IMPORT_C TInt GetPasscodeRequireUpperAndLower( TBool& aRequire ); + + /** + * Set if chars and numbers are required in the passcode + */ + IMPORT_C TInt SetPasscodeRequireCharsAndNumbers( TBool aRequire ); + + /** + * Get if chars and numbers are required in the passcode + */ + IMPORT_C TInt GetPasscodeRequireCharsAndNumbers( TBool& aRequire ); + + /** + * Set the amount of maximum repeated characters in the passcode. + * 0 = No restriction + * 1-4 = A single character cannot be used more than X times in the password + */ + IMPORT_C TInt SetPasscodeMaxRepeatedCharacters( TInt32 aMaxChars ); + + /** + * Get the amount of maximum repeated characters in the passcode + * 0 = No restriction + * 1-4 = A single character cannot be used more than X times in the password + */ + IMPORT_C TInt GetPasscodeMaxRepeatedCharacters( TInt32& aMaxChars ); + + + /** + * Set the length of the passcode history buffer. + * The new password cannot match the previous X passwords. + */ + IMPORT_C TInt SetPasscodeHistoryBuffer( TInt32 aBufferLength ); + + /** + * Get the length of the passcode history buffer + * The new password cannot match the previous X passwords. + */ + IMPORT_C TInt GetPasscodeHistoryBuffer( TInt32& aBufferLength ); + + + /** + * Set passcode expiration time. The password expires after X days. + * 0 = No restriction. + * 1-365 = The password expires after X days. + * -1 = password expires immediately + */ + IMPORT_C TInt SetPasscodeExpiration( TInt32 aExpiration ); + + /** + * Get passcode expiration time. The password expires after X days. + * 0 = No restriction. + * 1-365 = The password expires after X days. + */ + IMPORT_C TInt GetPasscodeExpiration( TInt32& aExpiration ); + + + /** + * Set the minumum change tolerance for passcode change. + * The user can change the password only X times before + * PasscodeMinChangeInterval hours have passed. + */ + IMPORT_C TInt SetPasscodeMinChangeTolerance( TInt32 aMinTolerance ); + + /** + * Get the minumum change tolerance for passcode change. + * The user can change the password only X times before + * PasscodeMinChangeInterval hours have passed. + */ + IMPORT_C TInt GetPasscodeMinChangeTolerance( TInt32& aMinTolerance ); + + /** + * Set passcode minumum change iterval. + * 0 = No restriction. + * 1-1000 = The user cannot change the password more than + * PasscodeMinChangeTolerance times before X hours + * have passed since the previous change. + */ + IMPORT_C TInt SetPasscodeMinChangeInterval( TInt32 aMinInterval); + + /** + * Get passcode minumum change iterval. + * 0 = No restriction. + * 1-1000 = The user cannot change the password more than + * PasscodeMinChangeTolerance times before X hours + * have passed since the previous change. + */ + IMPORT_C TInt GetPasscodeMinChangeInterval( TInt32& aMinInterval ); + + + /** + * Set if the passcode is checked not to contain specific strings. + */ + IMPORT_C TInt SetPasscodeCheckSpecificStrings( TBool aCheckSpecificStrings ); + + /** + * Check if the passcode is checked not to contain specific strings. + */ + IMPORT_C TInt GetPasscodeCheckSpecificStrings( TBool& aCheckSpecificStrings ); + + + /** + * Disallow the specific string/strings given. + * Individual strings can be separated with ";". + */ + IMPORT_C TInt DisallowSpecificPasscodeString( const TDesC8 &aString ); + + + /** + * Re-allow the specific string/strings given. + * Individual strings can be separated with ";". + */ + IMPORT_C TInt AllowSpecificPasscodeString( const TDesC8 &aString ); + + + /** + * Clears the specific passcode strings. + */ + IMPORT_C TInt ClearSpecificPasscodeStrings(); + + + /** + * Set the amount how many times the user may attempt to enter the passcode. + * 0 = No restriction + * 3-100 = The device is "hard" reset after the user has consecutively + * failed X times to answer the password query + */ + IMPORT_C TInt SetPasscodeMaxAttempts( TInt32 aMaxAttempts ); + + /** + * Set the amount how many times the user may attempt to enter the passcode. + * 0 = No restriction + * 3-100 = The device is "hard" reset after the user has consecutively + * failed X times to answer the password query + */ + IMPORT_C TInt GetPasscodeMaxAttempts( TInt32& aMaxAttempts ); + + /** + * 0 = No restriction, 1 = The password cannot contain two consecutive numbers + */ + IMPORT_C TInt SetPasscodeConsecutiveNumbers( TBool aConsecutiveNumbers ); + + /** + * 0 = No restriction, 1 = The password cannot contain two consecutive numbers + */ + IMPORT_C TInt GetPasscodeConsecutiveNumbers( TBool& aConsecutiveNumbers ); + + /** + * Set the amount of minimum special characters in the passcode. + * 0 = No restriction + * 1-255 = Password should contain at least X number of special characters. + */ + IMPORT_C TInt SetPasscodeMinSpecialCharacters( TInt32 aMinChars ); + + /** + * Get the amount of minimum special characters in the passcode. + * 0 = No restriction + * 1-255 = Password should contain at least X number of special characters. + */ + IMPORT_C TInt GetPasscodeMinSpecialCharacters( TInt32& aMinChars ); + /** + * 0 = No restriction, 1 = The password cannot be a simple string + */ + IMPORT_C TInt SetPasscodeDisallowSimple( TBool aDisallowSimple ); + + /** + * 0 = No restriction, 1 = The password cannot be a simple string + */ + IMPORT_C TInt GetPasscodeDisallowSimple( TBool& aDisallowSimple ); +//#endif +// --------- Enhanced features END -------------------- + + + /** + * Get process list + */ + IMPORT_C TInt GetProcessListL( CBufFlat* aBuffer ); + + /** + * Get process list size + */ + IMPORT_C TInt GetProcessListSize( TInt &aSize ); + + /** + * Get process list size + */ + IMPORT_C TInt GetProcessListSize( TDes8 &aSizeBuf ); + + /** + * Get process information + */ + IMPORT_C TInt GetProcessDataL( CBufFlat* aBuffer, const TDesC8& aProcessName, const TDesC8 &aData ); + + /** + * Reboot device, restart actually happens after subsession is closed + */ + IMPORT_C TInt RebootDevice( TBool aRestartDevice=ETrue ); + + /** + * Start local operation (new process) + */ + IMPORT_C TInt StartNewProcess( TBool aIsUid, const TDesC8& aProcessName ); + + /** + * Stop local operation (in process list) + */ + IMPORT_C TInt StopProcess( TBool aIsUid, const TDesC8& aProcessName ); + +}; + +#endif //__TERMINALCONTROLCLIENT_H__