--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/ltclientlib/src/lbtgeorect.cpp Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 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: Implementation of class representing a geographical
+* rectangular area.
+*
+*/
+
+
+#include <lbtgeorect.h>
+#include <s32strm.h>
+#include "lbtgeoareabase.h"
+#include "lbterrors.h"
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoRect* CLbtGeoRect::NewL()
+ {
+ CLbtGeoRect* self = new( ELeave ) CLbtGeoRect;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::NewLC()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoRect* CLbtGeoRect::NewLC()
+ {
+ CLbtGeoRect* self = new( ELeave ) CLbtGeoRect;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::NewL(const TReal& aSouthLatitude,
+// const TReal& aNorthLatitude,
+// const TReal& aWestLongitude,
+// const TReal& aEastLongitude)
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoRect* CLbtGeoRect::NewL( TReal aSouthLatitude,
+ TReal aNorthLatitude,
+ TReal aWestLongitude,
+ TReal aEastLongitude )
+ {
+ CLbtGeoRect* self = new( ELeave ) CLbtGeoRect;
+ CleanupStack::PushL( self );
+ self->ConstructL(aSouthLatitude,
+ aNorthLatitude,
+ aWestLongitude,
+ aEastLongitude );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::NewLC(const TReal& aSouthLatitude,
+// const TReal& aNorthLatitude,
+// const TReal& aWestLongitude,
+// const TReal& aEastLongitude)
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoRect* CLbtGeoRect::NewLC( TReal aSouthLatitude,
+ TReal aNorthLatitude,
+ TReal aWestLongitude,
+ TReal aEastLongitude )
+ {
+ CLbtGeoRect* self = new( ELeave ) CLbtGeoRect;
+ CleanupStack::PushL( self );
+ self->ConstructL(aSouthLatitude,
+ aNorthLatitude,
+ aWestLongitude,
+ aEastLongitude );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::ConstructL(const TReal& aSouthLatitude,
+// const TReal& aNorthLatitude,
+// const TReal& aWestLongitude,
+// const TReal& aEastLongitude )
+//
+// ---------------------------------------------------------------------------
+//
+void CLbtGeoRect::ConstructL( TReal aSouthLatitude,
+ TReal aNorthLatitude,
+ TReal aWestLongitude,
+ TReal aEastLongitude )
+ {
+ if((- 90 <= aSouthLatitude)&&(aSouthLatitude <= 90) && (- 90 <= aNorthLatitude)&&(aNorthLatitude <= 90) && (aSouthLatitude <= aNorthLatitude) )
+ {
+ iSouthLatitude=aSouthLatitude;
+ iNorthLatitude=aNorthLatitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+
+ if((- 180 <= aWestLongitude)&&( aWestLongitude<= 180))
+ {
+ iWestLongitude=aWestLongitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+
+
+ if((- 180 <= aEastLongitude)&&( aEastLongitude<= 180))
+ {
+ iEastLongitude=aEastLongitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+ }
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//
+void CLbtGeoRect::ConstructL()
+ {
+
+ }
+
+// ---------------------------------------------------------------------------
+// From class CLbtGeoAreaBase.
+//
+// ---------------------------------------------------------------------------
+//
+CLbtGeoAreaBase::TGeoAreaType CLbtGeoRect::Type() const
+ {
+ return CLbtGeoAreaBase::ERectangular;
+ }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::GetBorder(TReal& aSouthLatitude,
+// TReal& aNorthLatitude,
+// TReal& aWestLongitude,
+// TReal& aEastLongitude )
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbtGeoRect::GetBorder(
+ TReal& aSouthLatitude,
+ TReal& aNorthLatitude,
+ TReal& aWestLongitude,
+ TReal& aEastLongitude ) const
+ {
+ aSouthLatitude=iSouthLatitude;
+ aNorthLatitude=iNorthLatitude;
+ aWestLongitude=iWestLongitude;
+ aEastLongitude=iEastLongitude;
+ }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::SetBorder(TReal& aSouthLatitude,
+// TReal& aNorthLatitude,
+// TReal& aWestLongitude,
+// TReal& aEastLongitude )
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+
+EXPORT_C void CLbtGeoRect::SetBorder(
+ TReal aSouthLatitude,
+ TReal aNorthLatitude,
+ TReal aWestLongitude,
+ TReal aEastLongitude )
+
+ {
+ if((- 90 <= aSouthLatitude)&&(aSouthLatitude <= 90) && (- 90 <= aNorthLatitude)&&(aNorthLatitude <= 90) && (aSouthLatitude <= aNorthLatitude) )
+ {
+ iSouthLatitude=aSouthLatitude;
+ iNorthLatitude=aNorthLatitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+
+
+ if((- 180 <= aWestLongitude)&&( aWestLongitude<= 180))
+ {
+ iWestLongitude=aWestLongitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+
+ if((- 180 <= aEastLongitude)&&(aEastLongitude <= 180))
+ {
+ iEastLongitude=aEastLongitude;
+ }
+ else
+ User::Panic(KLbtClientPanicCategory,ELbtErrArgument);
+ }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::CLbtGeoRect()
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+ CLbtGeoRect::CLbtGeoRect()
+ {
+
+ }
+ // ---------------------------------------------------------------------------
+// CLbtGeoRect::~CLbtGeoRect()
+// Destructor
+// ---------------------------------------------------------------------------
+//
+ CLbtGeoRect::~CLbtGeoRect()
+ {
+
+ }
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::DoExternalizeL()
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbtGeoRect::DoExternalizeL(RWriteStream& aStream) const
+ {
+ aStream.WriteReal32L(iSouthLatitude);
+ aStream.WriteReal32L(iNorthLatitude);
+ aStream.WriteReal32L(iWestLongitude);
+ aStream.WriteReal32L(iEastLongitude);
+ }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoRect::DoInternalizeL()
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLbtGeoRect::DoInternalizeL(RReadStream& aStream)
+ {
+ iSouthLatitude=aStream.ReadReal32L();
+ iNorthLatitude=aStream.ReadReal32L();
+ iWestLongitude=aStream.ReadReal32L();
+ iEastLongitude=aStream.ReadReal32L();
+ }
+
+
+