diff -r 9d598f7f02da -r 014f8c42e1d4 java_stubs/javaregistry/clientserver/client/inc/javaregclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java_stubs/javaregistry/clientserver/client/inc/javaregclient.h Mon Feb 22 17:55:27 2010 +0200 @@ -0,0 +1,281 @@ +/* +* Copyright (c) 2005-2006 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: javaregclient definition +* +*/ + + +#ifndef JAVAREGCLIENT_H +#define JAVAREGCLIENT_H + +#include "javaregdef.h" +#include "javaregburstates.h" + +namespace Java +{ +namespace Manager +{ +namespace Registry +{ +// FORWARD DECLARATIONS +class CJavaPropertyArray; + +/** + * RJavaRegSession class makes it possible to access java registry server + * services like adding, getting and removing entries. + * The class implements the client side of java registry + * client-server communication. + * + * @since S60 v3.2 + */ +class RJavaRegSession : public RSessionBase +{ + +public: + + /** + * Constructor + * + * @since S60 v3.2 + */ + RJavaRegSession(); + + /** + * Connects to registry server and sets integrity service's + * transaction id. + * + * @since S60 v3.2 + * @param aTransactionId transaction id of integrity service + * @param aLegacy legacy flag, must be set to true if + * legacy api wants to use server services + * @return KErrNone if connection was successful or an error code + */ + TInt Connect(TInt64 aTransactionId, TBool aLegacy = EFalse); + + /** + * Connects to registry server and sets if integrity service + * is required or not to be created in registry. + * + * @since S60 v3.2 + * @param aUseIntegrity true if registry should create an + * interior integrity session + * @param aLegacy if true legacy api uses server services + * @return KErrNone if connection was successful or an error code + */ + TInt Connect(TBool aUseIntegrity, TBool aLegacy = EFalse); + + /** + * Checks if an entry with specified uid exist or not + * in the registry. + * + * @since S60 v3.2 + * @param aUid uid of the entry to be checked if exists + * @return true if the entry exists and false if not + */ + TBool EntryExistsL(TUid aUid) const; + + /** + * Gets uids of entries stored in registry. + * + * @since S60 v3.2 + * @param[out] aUids reference to an array where stored uids + * are returned + */ + void GetEntryUidsL(RArray& aUids) const; + + /** + * Gets uids of entries stored in registry and belonging to + * the given drive. + * + * @since S60 v3.2 + * @param[out] aUids reference to an array where stored uids + * are returned + * @param aDrive drive whose entry uids must be returned + */ + void GetEntryUidsL(RArray& aUids, TInt aDrive) const; + + /** + * Gets the entry belonging to the given uid. + * The entry is represented as a set of properties. + * If no entry found for the given uid aProperties is null else + * it is allocated a new CJavaPropertyArray object containing the read + * entry. + * + * @since S60 v3.2 + * @param aUid the uid of entry we are interested in + * @param[out] aProperties entry is read in this parameter + * @param aAllEntries decision if we want to read entry from not + * presented MMC + */ + void GetEntryL(TUid aUid, + CJavaPropertyArray*& aProperties, + TBool aAllEntries = EFalse) const; + + /** + * Adds a new entry or updates an existent one with the given uid. + * The entry is represented as a set of properties. + * + * @since S60 v3.2 + * @param aUid the uid of the entry to be added or updated + * @param aProperties the entry to be added or updated + * @param aDrive the drive to which the set entry belongs + */ + void SetEntryL(TUid aUid, + const CJavaPropertyArray& aProperties, + TInt aDrive) const; + + /** + * Returns a set of uids whose entries contains the properties (and + * has the same values) given in the aProperties parameter. + * + * @since S60 v3.2 + * @param aProperties the set of properties which must exists + * (and must have the same values) in the looked entries + * @param[out] aUids uids of the found entries are returned + * in this parameter + * @param aAllEntries means, that method give all entries including + * entries, which regards with midlets stored in not presented + * media. EFalse means entries with regarding not presented + * media will not return. + */ + void FindEntriesL(const CJavaPropertyArray& aProperties, + RArray& aUids, TBool aAllEntries = EFalse) const; + + /** + * Removes the entry belonging to the given uid. + * + * @since S60 v3.2 + * @param aUid uid of entry which must be deleted + * @param aAllEntries means, that method give all entries including + * entries, which regards with midlets stored in not presented + * media. EFalse means entries with regarding not presented + * media will not return. + */ + void RemoveEntryL(TUid aUid, TBool aAllEntries = EFalse) const; + + /** + * Allocates a range of new uids. + * + * @since S60 v3.2 + * @param[out] aUids array reference where the allocated uids + * will be returned + * @param aUidCount number of uids to be allocated + */ + void AllocateUidsL(RArray& aUids, + TInt aUidCount = 1) const; + + /** + * Sets the backup state of registry. + * If the registry is in backing up or restoring state + * the client requests will not be executed. + * + * @since S60 v3.2 + * @param aBackupState the requested backup state + */ + void SetBackupStateL(TBackupState aBackupState) const; + +private: + + /** + * Initializes server with integrity service transaction id + * and the legacy api flag. + * + * @since S60 v3.2 + * @param aTransactionId integrity service transaction id + * @param aLegacy legacy flag, must be set to true if + * legacy api wants to use server services + * @return KErrNone if no error or the appropriate error code + */ + TInt InitializeServer(TInt64 aTransactionId, TBool aLegacy) const; + + /** + * Initializes server with use integrity session flag, + * and the legacy api flag. + * + * @since S60 v3.2 + * @param aUseIntegrity true if registry should create an interior + * integrity session + * @param aLegacy legacy flag, must be set to true if + * legacy api wants to use server services + * @return KErrNone if no error or the appropriate error code + */ + TInt InitializeServer(TBool aUseIntegrity, TBool aLegacy) const; + + /** + * Sends to server a message containing the function id and the + * arguments given in TIpcArgs argument. + * The first and second arguments of TIpcArgs are reserved. + * + * @since S60 v3.2 + * @param aFunction funtion id + * @param[out] aBuffer the received buffer is returned + * in this parameter + * @param aArgs arguments to be sent for server, first and second + * argument must be left empty + */ + void GetBuffer8FromServerL(TInt aFunction, + HBufC8*& aBuffer, + TIpcArgs& aArgs) const; + + /** + * Sends to server a message containing the function id and the + * arguments given in TIpcArgs argument. + * The first and second arguments of TIpcArgs are reserved. + * + * @since S60 v3.2 + * @param aFunction funtion id + * @param[out] aBuffer the received buffer is returned + * in this parameter + * @param aArgs arguments to be sent for server, first and second + * argument must be left empty + */ + void GetBuffer16FromServerL(TInt aFunction, + HBufC16*& aBuffer, + TIpcArgs& aArgs) const; + + /** + * Sends to server a message containing the function id and the + * arguments given in TIpcArgs argument. + * The first and second arguments of TIpcArgs are reserved. + * + * @since S60 v3.2 + * @param aFunction funtion id + * @param[out] aBuffer the received buffer is returned + * in this parameter + * @param aArgs arguments to be sent for server, first and second + * argument must be left empty + * @param a8BitDesc if true a 8 bit descriptor must be allocated + * in other case a 16 bit descriptor must be allocated + */ + void GetBufferFromServerL(TInt aFunction, + TAny** aBuffer, + TIpcArgs& aArgs, + TBool a8BitDesc) const; + /** + * Connects to server. + * + * @since S60 v3.2 + * @return KErrNone if connection was successful or an error code + */ + TInt Connect(); + +private: + +}; + +}//namespace Registry +}//namespace Manager +}//namespace Java + +#endif // JAVAREGCLIENT_H