voipplugins/dhcppositionprovider/src/dhcpdatalocationrequest.cpp
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/voipplugins/dhcppositionprovider/src/dhcpdatalocationrequest.cpp	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Builds the dhcp location information request buffer
-*
-*/
-
-
-#include <e32math.h>
-#include "dhcppsylogging.h"             // For logging
-#include "dhcpconstants.h"
-#include "dhcpdatalocationrequest.h"
-
-const TInt KDhcpFileBufferLength = 0x80;        // 128dec
-const TInt KDhcpSnameLength = 0x40;
-
-const TInt KDhcpChAddressLength = 0x10;   // 16dec
-
-// Data positions constants.
-const TInt KDhcpMessageOpCodePos = 0x00;
-const TInt KDhcpHardwareAddressTypePos = 0x01;
-const TInt KDhcpHardwareAddressLengthPos = 0x02;
-const TInt KDhcpHopsRelayPos = 0x03;
-const TInt KDhcpTransActionIdPos = 0x04;     // 4 byte
-
-const TInt KDhcpSecsPos = 0x08;
-const TInt KDhcpFlagsPos = 0x0A;
-const TInt KDhcpCiAddrPos = 0x0C;
-const TInt KDhcpYiAddrPos = 0x10;
-const TInt KDhcpSiAddrPos = 0x14;
-const TInt KDhcpGiAddrPos = 0x18;
-
-// Operation code constans.
-const TUint8    KDhcpMessageOperationCode = 0x01;       // 1 = BOOTREQUEST
-const TUint8    KDhcpHardwareAddressType = 0x01;        // HType 1 = 10 mb ethernet
-const TUint8    KDhcpHardwareAddressLength = 0x06;      // Hardware address length,
-                                                        // 6 bytes 10 mb ethernet
-const TUint8    KDhcpHopsRelayInform = 0x00;            // Hops 0 in DHCPINFORM
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TDhcpLocationRequestPacket
-// ---------------------------------------------------------------------------
-//
-TDhcpLocationRequestPacket::TDhcpLocationRequestPacket()
-    {
-    iXid = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// Return used transaction id.
-// ---------------------------------------------------------------------------
-//
-TUint32 TDhcpLocationRequestPacket::TransactionId ()
-    {
-    return iXid;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructs a DHCP Inform message
-// ---------------------------------------------------------------------------
-//
-void TDhcpLocationRequestPacket::MakeDhcpInformMsg ( TUint32 aLocalIp,
-    const TDesC8& aMacAddr )
-    {
-    TRACESTRING( "TDhcpLocationRequestPacket::MakeDhcpInform" );
-    RandomiseXid ();
-
-    // Inital part, we do byte work at here.
-    SetLength (0x1C);
-    FillZ();
-
-    iBuffer[KDhcpMessageOpCodePos] = KDhcpMessageOperationCode;
-    iBuffer[KDhcpHardwareAddressTypePos] = KDhcpHardwareAddressType;
-    // We could also get value in here from actual length of
-    // mac address buffer.
-    iBuffer[KDhcpHardwareAddressLengthPos] = KDhcpHardwareAddressLength;
-    iBuffer[KDhcpHopsRelayPos] = KDhcpHopsRelayInform;
-
-    BigEndian::Put32(&(iBuffer[KDhcpTransActionIdPos]), TUint32 (iXid));
-
-    // Set secs and flags fields to the buffer.
-    TUint16 secsAndFlagsValue = 0;      // 0 in flags = no broadcast
-    BigEndian::Put16(&(iBuffer[KDhcpSecsPos]), TUint16 (secsAndFlagsValue));
-    BigEndian::Put16(&(iBuffer[KDhcpFlagsPos]), TUint16 (secsAndFlagsValue));
-
-    // Local ip address
-    BigEndian::Put32(&(iBuffer[KDhcpCiAddrPos]), TUint32 (aLocalIp));
-    TUint32 xiAddrValue = 0x00;
-    BigEndian::Put32(&(iBuffer[KDhcpYiAddrPos]), TUint32 (xiAddrValue));
-    BigEndian::Put32(&(iBuffer[KDhcpSiAddrPos]), TUint32 (xiAddrValue));
-    BigEndian::Put32(&(iBuffer[KDhcpGiAddrPos]), TUint32 (xiAddrValue));
-
-    // wlan mac address
-    TBuf8<KDhcpChAddressLength>  chAddress (KNullDesC8);
-    chAddress.Copy (aMacAddr.Left(KDhcpChAddressLength));
-    if (chAddress.Length()<KDhcpChAddressLength)
-        {
-        // If given mac address is less max of field,
-        // we have make sure that rest of bytes
-        // are filled as zero-byte.
-        TInt oldLength = chAddress.Length();
-        chAddress.SetLength(KDhcpChAddressLength);
-        for (TInt ii = oldLength; ii<KDhcpChAddressLength;ii++)
-            {
-            chAddress[ii] = 0x00;
-            }
-        }
-
-    Append(chAddress);
-
-    TBuf8<KDhcpFileBufferLength> fileBuffer(KNullDesC8);
-    // sname
-    fileBuffer.SetLength(KDhcpSnameLength);
-    fileBuffer.FillZ();
-    Append(fileBuffer);
-
-    // file
-    fileBuffer.SetLength(KDhcpFileBufferLength);
-    fileBuffer.FillZ();
-    Append(fileBuffer);
-
-    // magic cookie
-    TPtrC8 ptr (KDhcpMagicCookie, sizeof(KDhcpMagicCookie));
-    Append(ptr);
-
-    // And add all rest parts to the request message
-    TPtrC8 ptrInform (KDhcpDhcpMsgInform, sizeof(KDhcpDhcpMsgInform));
-    Append(ptrInform);
-
-    TPtrC8 ptrRequestList (KDhcpDhcpParameterRequestList, sizeof(KDhcpDhcpParameterRequestList));
-    Append(ptrRequestList);
-
-    TPtrC8 ptrGeoOptionParams (KDhcpGeoOptionParams, sizeof(KDhcpGeoOptionParams));
-    Append(ptrGeoOptionParams);
-
-    TPtrC8 ptrMessageSize (KDhcpMessageSize, sizeof(KDhcpMessageSize));
-    Append(ptrMessageSize);
-
-    TPtrC8 ptrMsgSize (KDhcpEndOfMessage, sizeof(KDhcpEndOfMessage));
-    Append(ptrMsgSize);
-
-    TInt length = Length();
-    SetLength(KDhcpPacketLength);
-
-    // Ok, rest of bytes shall be zero.
-    TPtr8 ptrMakeZeroBytes(&iBuffer[length],KDhcpPacketLength - length);
-    ptrMakeZeroBytes.FillZ();
-    }
-
-// ---------------------------------------------------------------------------
-// Generate a random transaction id
-// ---------------------------------------------------------------------------
-//
-void TDhcpLocationRequestPacket::RandomiseXid ()
-    {
-    TRACESTRING( "TDhcpLocationRequestPacket::RandomiseXid" );
-    TTime time;
-    time.HomeTime();
-    TInt64 seed = time.Int64();
-    TUint random = Math::Rand( seed );
-    iXid = random % KMaxTUint;
-    TRACESTRING2( "TDhcpLocationRequestPacket::RandomiseXid, iXid %u" ,iXid );
-    }