--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappsupport/vcardandvcal/Ticket/VTicketMaster.H Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,173 @@
+// Copyright (c) 2001-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:
+//
+
+#if !defined(__VFOOT_H__)
+#define __VCARD_H__
+
+#if !defined(__VERSIT_H__)
+#include "VERSIT.H"
+#endif
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include "versit_internal.h"
+#endif
+
+
+_LIT(KVersitTokenVTicketmasterVersionNo, "1.0");
+_LIT(KVersitVarTokenTICKETMASTER, "TICKETMASTER");
+_LIT8(KVersitTokenEVENTTYPE, "EVENT-TYPE");
+_LIT8(KVersitTokenARTIST, "ARTIST");
+_LIT8(KVersitTICKETTERMINAL, "TICKET-TERMINAL");
+_LIT8(KVersitTokenVENUE, "VENUE");
+_LIT8(KVersitTokenNUMBEROFTICKETS, "NUMBER-OF-TICKETS");
+_LIT8(KVersitTokenSUPPORTINGACT, "SUPPORTING-ACT");
+_LIT8(KVersitTokenORGANISATION, "ORGANISATION");
+_LIT8(KVersitTokenCONCERTDATE, "CONCERT-DATE");
+_LIT8(KVersitTokenPRICELEVEL, "PRICE-LEVEL");
+_LIT8(KVersitTokenTICKETPRICE, "TICKET-PRICE");
+_LIT8(KVersitTokenBOOKINGFEE, "BOOKING-FEE");
+_LIT8(KVersitTokenEVENTCODE, "EVENT-CODE");
+_LIT8(KVersitTokenSEATNUMBERS, "SEAT-NUMBERS");
+_LIT8(KVersitTokenOTHERRELATEDSHOWS,"OTHER-RELATED-SHOWS");
+
+_LIT(KVersitVarTokenVCONCERT, "VCONCERT");
+_LIT(KVersitVarTokenVMUSICAL, "VMUSICAL");
+
+//UID 270488168 - 270488183 have been reserved for Demo DLL to use
+#define KVTicketmasterEntityUidVConcert 270488168
+#define KVTicketmasterEntityUidVMusical 270488169
+#define KVTicketmasterPriceUid 270488170
+#define KVTicketmasterEventCodeUid 270488171
+#define KVTicketmasterSeatNumUid 270488172
+#define KVTicketmasterOtherRelatedShowsId 270488173
+
+#define KSpace 0x0020
+#define KComma 0x002C
+#define KSemiColon 0x003B
+#define KHyphen 0x002D
+
+#define FirstNumComesBeforeSecondNum -1
+#define FirstNumComesAfterSecondNum 1
+
+
+enum TTicketMasterPanic
+ {
+ EUnexpectedBase64=100,
+ };
+
+inline void TMPanic(TTicketMasterPanic aPanic)
+ {
+ Panic(REINTERPRET_CAST(TVersitParserPanic&, aPanic));
+ }
+
+class TSeatNum
+ {
+public:
+ static TInt CompareSeats(const TSeatNum& aFirst, const TSeatNum& aSecond);
+public:
+ TBuf<2> iRow;
+ TInt iSeatNum;
+ TInt iNextSeats; //number of seats next to the original seat
+ };
+
+class CParserVTicketmaster : public CVersitParser
+ {
+public:
+ IMPORT_C static CParserVTicketmaster* NewL();
+public:
+ //InternalizeL - we will call the base class function CVersitParser::InternaliseL
+ IMPORT_C void ExternalizeL(RWriteStream& aStream);
+protected:
+ IMPORT_C TUid RecognizeToken(const TDesC8& aToken) const;
+ IMPORT_C TInt RecognizeEntityName() const;
+ IMPORT_C CVersitParser* MakeEntityL(TInt aEntityUid, HBufC* aEntityName);
+private:
+ CParserVTicketmaster();
+ };
+
+class CParserVTicketmasterEntity : public CVersitParser
+ {
+public:
+ IMPORT_C static CParserVTicketmasterEntity* NewL();
+ ~CParserVTicketmasterEntity();
+ void CreateSeatsL(TSeatNum& aSeat, TPtr16& aSpecificSeat);
+protected:
+ CParserPropertyValue* MakePropertyValueL(const TUid& aPropertyUid,HBufC16*& aValue);
+ IMPORT_C TUid RecognizeToken(const TDesC8& aToken) const;
+ IMPORT_C CParserPropertyValue* MakePropertyValuePriceL(TPtr16 aPriceValue);
+ IMPORT_C CParserPropertyValue* MakePropertyValueEventCodeL(TPtr16 aEventCodeValue);
+ CParserPropertyValue* MakePropertyValueSeatNumL(TPtr16 aSeatNum);
+ CPtrCArray* MakePropertyValueOtherRelatedShowsL(TPtr16 aShow);
+private:
+ CParserVTicketmasterEntity();
+ };
+
+class CParserPropertyValuePrice : public CParserPropertyValue
+ {
+public:
+ IMPORT_C CParserPropertyValuePrice(TChar aCurrencySymbol, TChar aDecimalPoint, TInt aPounds, TInt aPennys);
+ IMPORT_C ~CParserPropertyValuePrice();
+public: // from CParserPropertyValue
+ IMPORT_C void ExternalizeL(RWriteStream& /*aStream*/,const Versit::TEncodingAndCharset& /*aEncodingCharset*/,TInt /*aLengthOutput*/);
+private:
+ TChar iCurrencySymbol;
+ TChar iDecimalPoint;
+ TInt iPounds;
+ TInt iPennys;
+ };
+
+class CParserPropertyValueEventCode : public CParserPropertyValue
+ {
+public:
+ CParserPropertyValueEventCode(TInt aFirstCode, TInt aFirstCodeLength,
+ TInt aSecondCode, TInt aSecondCodeLength,
+ TInt aThirdCode, TInt aThirdCodeLength);
+public:
+ void ExternalizeL(RWriteStream& /*aStream*/,const Versit::TEncodingAndCharset& aEncodingCharset,TInt /*aLengthOutput*/);
+private:
+ TInt iFirstCode;
+ TInt iSecondCode;
+ TInt iThirdCode;
+ TInt iFirstCodeLength;
+ TInt iSecondCodeLength;
+ TInt iThirdCodeLength;
+ };
+
+class CParserPropertyValueSeatNum : public CParserPropertyValue
+ {
+public:
+ CParserPropertyValueSeatNum(RArray<TSeatNum>& aSeatArray);
+ ~CParserPropertyValueSeatNum();
+public:
+ void ExternalizeL(RWriteStream& /*aStream*/,const Versit::TEncodingAndCharset& /*aEncodingCharset*/,TInt /*aLengthOutput*/);
+private:
+ RArray<TSeatNum> iSeatArray;
+ TInt iArrayLength;
+ };
+
+class CParserPropertyValueOtherRelatedShows : public CParserPropertyValue
+ {
+public:
+ CParserPropertyValueOtherRelatedShows(CPtrCArray* aShowArray);
+ ~CParserPropertyValueOtherRelatedShows();
+public:
+ void ExternalizeL(RWriteStream& /*aStream*/,const Versit::TEncodingAndCharset& /*aEncodingCharset*/,TInt /*aLengthOutput*/);
+private:
+ CPtrCArray* iShowArray;
+ };
+
+
+
+#endif