diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/inc/ncd_pp_subscriptionimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/inc/ncd_pp_subscriptionimpl.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 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: CNcdPreminetProtocolPurchaseOptionImpl declaration +* +*/ + + +#ifndef NCD_PREMINET_PROTOCOL_SUBSCRIPTION_IMPL_H +#define NCD_PREMINET_PROTOCOL_SUBSCRIPTION_IMPL_H + +#include "ncd_pp_subscription.h" +#include "ncdprotocoltypes.h" + +class MNcdPreminetProtocolSubscriptionDetails; +class MNcdPreminetProtocolPayment; +class MNcdConfigurationProtocolQuery; + +class CNcdPreminetProtocolSubscriptionImpl +: public CBase, public MNcdPreminetProtocolSubscription + { + +public: + + static CNcdPreminetProtocolSubscriptionImpl* NewL(); + static CNcdPreminetProtocolSubscriptionImpl* NewLC(); + + virtual ~CNcdPreminetProtocolSubscriptionImpl(); + + void ConstructL(); + + + // From base class MNcdPreminetProtocolPurchaseOption + /** + * Namespace. + * @return The namespace. + */ + virtual const TDesC& Namespace() const; + + /** + * Entity id. + * @return Entity id or KNullDesC + */ + virtual const TDesC& EntityId() const; + + /** + * Purchase option id. + * @return Purchase option id or KNullDesC + */ + virtual const TDesC& PurchaseOptionId() const; + + /** + * Subscription timestamp. + * @return Timestamp or KNullDesC + */ + virtual const TDesC& Timestamp() const; + + /** + * Subsctiption type. + * @return Type + */ + virtual TNcdSubscriptionType Type() const; + + /** + * Retuns true if this subscription is cancelled. + * @return true or false + */ + virtual TBool Cancelled() const; + + /** + * Total usage rights of this subscription. + * @return Subscription details pointer or NULL + */ + virtual const MNcdPreminetProtocolSubscriptionDetails* + TotalUsageRights() const; + + /** + * Remaining usage rights of this subscription. + * @return Subscription details pointer or NULL + */ + virtual const MNcdPreminetProtocolSubscriptionDetails* + RemainingUsageRights() const; + + + /** + * Timestamp of expiration + * @return Timestamp or KNullDesC + */ + virtual const TDesC& ExpiredOn() const; + + /** + * Usage rights of this subscription. + * Wrapping method for old subscriptions, uses TotalUsageRights(). + * @return Subscription details pointer or NULL + */ + virtual const MNcdPreminetProtocolSubscriptionDetails* + UsageRights() const; + +private: + CNcdPreminetProtocolSubscriptionImpl(); + +public: + HBufC* iNamespace; + HBufC* iEntityId; + HBufC* iPurchaseOptionId; + HBufC* iTimestamp; + TNcdSubscriptionType iType; + TBool iCancelled; + + MNcdPreminetProtocolSubscriptionDetails* iTotalUsageRights; + MNcdPreminetProtocolSubscriptionDetails* iRemainingUsageRights; + + HBufC* iExpiredOn; + }; + +#endif // NCD_PREMINET_PROTOCOL_SUBSCRIPTION_IMPL_H \ No newline at end of file