diff -r 000000000000 -r dfb7c4ff071f commsfwsupport/commselements/NetSubscribe/INC/NetSubscribe.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwsupport/commselements/NetSubscribe/INC/NetSubscribe.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,84 @@ +// Copyright (c) 2004-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: +// + +/** + @file + @internalTechnology +*/ + +#ifndef __NETSUBSCRIBE_H_ +#define __NETSUBSCRIBE_H_ + +#include +#include +#include + +namespace NetSubscribe +{ +/** + * Maximum length(in bytes) of TEvent data part supported by NetSubscribe. + * The length is returned by SMetaData::Length() + * + * @see SMetaData + */ +const TInt KMaxLength = 128; +const TInt KTransportUid = 0x102055AA; +enum ETransportTypes + { + /** + * Publish/Subscribe Transport type + */ + EPublishSubscribe + //Another transport types should follow here + }; + +class TEventClientData; +struct SSignalId; +class TEventBase; +class XSignal; +class CNetSubscribe : public CBase +/** + * Client side of the signal subscription library. The class abstracts the mechanism the signals are + * registered, trapped and the way event data are marhalled/demarshalled. + * Derived class manages specific signal source & transport layer + * Allows for multiple signal to be registered. + * + * @see XSignal + * @internalTechnology + */ + { + friend class TEvent; + +public: + IMPORT_C static CNetSubscribe* NewL( const Meta::STypeId& aTransportId ); + + IMPORT_C ~CNetSubscribe(); + +protected: + explicit CNetSubscribe(); + virtual void RegisterNewSignalL(TEventClientData& aData, const SSignalId& aSignalId ) = 0; + + void RegisterSignalL(TEventClientData& aData, const SSignalId& aSignalId ); + void DeRegisterSignal(TEventBase* aEvent); + +protected: + RPointerArray iSignals; + }; + +} // namespace NetSubscribe + + +#endif // __NETSUBSCRIBE_H_ +