Applied patch 1, to provide a syborg specific minigui oby file.
Need to compare this with the "stripped" version currently in the tree.
This supplied version applies for Nokia builds, but need to repeat the
test for SF builds to see if pruning is needed, or if the file needs to
be device-specific.
// Copyright (c) 1999-2009 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 object index class
//
//
#ifndef __WSOBJIX_H__
#define __WSOBJIX_H__
#include <e32std.h>
#include <e32base.h>
class CWsObject;
/**
A simple structure to hold a CWsObject and the associated handle.
@internalComponent
@released
*/
class TWsObject
{
public:
enum
{
ESlotMask=0x0000FFFF, //The handle on the client side uses these 16 bits to store the slot position
ECountMask=0x7FFF0000, //These 15 bits are used to keep a unique number (the slot reuse count)
ETypeMask=ESlotMask, //The handle on the server side uses these 16 bits to store the type of the object
ECountPosition=16,
ECountBits=15,
ECountInc=1<<ECountPosition,
ECountWrapAround=1<<ECountBits,
};
public:
inline TWsObject(CWsObject* aObject,TInt aHandle);
public:
CWsObject* iObject;
TUint iHandle;
};
/**
An array of CWsObject instances and their handles.
Each client session maintains a list of the objects it owns.
Note that the first item in the iObjectArray array is a dummy item. This is because part of the
handle is used as an index in the array and we want to avoid index 0 because a null handle has a special
meaning.
@see CWsClient
@internalComponent
@released
*/
class CWsObjectIx : public CBase
{
public:
CWsObjectIx();
~CWsObjectIx();
void ConstructL();
TInt AddL(CWsObject* anObj);
void Remove(const TWsObject* aObject);
void Remove(CWsObject* anObj);
CWsObject* HandleToObject(TInt aHandle) const;
inline const CWsObject* At(TInt aPos) const;
const TWsObject* FirstObject() const;
TInt At(const CWsObject* anObj);
void Tidy();
TInt Count() const; // Count of non NULL objects in the array
TInt Length() const; // Length of array including empty slots
private:
CArrayFixFlat<TWsObject> iObjectArray;
TInt iNewObjectCount;
};
//
// inlines //
//
//
// TWsObject
//
inline TWsObject::TWsObject(CWsObject* aObject,TInt aHandle) :iObject(aObject), iHandle(aHandle) {}
//
// CWsObjectIx
//
inline const CWsObject* CWsObjectIx::At(TInt aPos) const
{return iObjectArray[aPos].iObject;}
#endif