williamr@2: /* williamr@2: * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedPartner williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef __CAF_AGENT_H__ williamr@2: #define __CAF_AGENT_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: /** Maximum length of an Agent name, a longer name will be truncated */ williamr@2: const TInt KMaxAgentNameLength = KMaxFileName; williamr@2: const TInt KMaxSIDLength = 8; williamr@2: williamr@2: namespace ContentAccess williamr@2: { williamr@2: williamr@2: /** Represents the name of a single CAF agent. This allows williamr@2: applications to reference a particular agent within the williamr@2: Content Access Framework. williamr@2: williamr@2: @publishedPartner williamr@2: @released williamr@2: */ williamr@2: class TAgent williamr@2: { williamr@2: public: williamr@2: /** The name of the agent williamr@2: @return The name of the agent williamr@2: */ williamr@2: IMPORT_C const TDesC& Name() const; williamr@2: williamr@2: /** The UID of the agent DLL williamr@2: @return The UID of the agent ECOM implementation DLL williamr@2: williamr@2: @internalComponent williamr@2: @released williamr@2: */ williamr@2: TUid ImplementationUid() const; williamr@2: williamr@2: /** Set the value of this TAgent williamr@2: @param aName The name of the agent williamr@2: @param aUid The agent implementation Uid williamr@2: williamr@2: @internalComponent williamr@2: @released williamr@2: */ williamr@2: void SetValue(const TDesC& aName, TUid aUid); williamr@2: williamr@2: private: williamr@2: williamr@2: TBuf iName; williamr@2: TUid iImplementationUid; williamr@2: }; williamr@2: } williamr@2: williamr@2: #endif