diff -r f5050f1da672 -r 04becd199f91 javaextensions/bluetooth/bluetoothcommons/inc.s60/bturlparams.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaextensions/bluetooth/bluetoothcommons/inc.s60/bturlparams.h Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2008 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: +* +*/ + + +#ifndef BTURLPARAMS_H +#define BTURLPARAMS_H + +#include +#include + +namespace java +{ +namespace bluetooth +{ + +// For URLs +#define SEMICOLON L";" +#define EQUAL L"=" + +#define PROTOCOL_SEPERATOR L"://" +#define LOCALHOST L"localhost:" + +#define URL_PARAM_AUTHENTICATE L";authenticate=" +#define URL_PARAM_AUTHORIZE L";authorize=" +#define URL_PARAM_ENCRYPT L";encrypt=" +#define URL_PARAM_MASTER L";master=" +#define URL_PARAM_NAME L";name=" +#define URL_PARAM_RECEIVE_MTU L";receivemtu=" +#define URL_PARAM_TRANSMIT_MTU L";transmitmtu=" + +// For Filters +#define FILTER_PARAM_BLACKLIST L";blacklist=" +#define FILTER_PARAM_AUTHENTICATED L";authenticated" +#define FILTER_PARAM_AUTHORIZED L";authorized" + +class BtUrlParams +{ +public: + OS_IMPORT BtUrlParams(std::wstring aUrl, std::wstring aFilter); + OS_IMPORT ~BtUrlParams(); + + // Getter functions + OS_IMPORT std::wstring getProtocol(); + OS_IMPORT std::wstring getServiceUuid(); + OS_IMPORT std::wstring getParamName(); + OS_IMPORT bool getParamMaster(); + OS_IMPORT bool getParamAuthorize(); + OS_IMPORT bool getParamAuthenticate(); + OS_IMPORT bool getParamEncrypt(); + OS_IMPORT int getParamReceiveMtu(); + OS_IMPORT int getParamTransmitMtu(); + + OS_IMPORT + bool isAllowedSender(HBufC& aDevAddr, bool &aAuthorized, + bool &aAuthenticated); + OS_IMPORT bool isBlockedSender(HBufC& aDevAddr); + +private: + // Methods + BtUrlParams(); + void extractUrlParams(std::wstring aUrl); + void extractFilterParams(std::wstring aFilter); + void setUrlParamsValue(std::wstring aParam, std::wstring aVal); + void fillBlackList(std::wstring aBlackList); + std::wstring &ToLower(std::wstring &aStr); + std::wstring BtUrlParams::validLongUuid(std::wstring &aStr); + + bool matchWS(HBufC& aDevAddr, std::wstring aPattern); + bool matchHB(HBufC& aDevAddr, HBufC &aPattern); + +private: + // Extracted data + class AllowedSender + { + public: + std::wstring mPattern; + bool mAuthorized; + bool mAuthenticated; + } mAllowedSenders; + + bool mMaster; + bool mAuthorize; + bool mAuthenticate; + bool mEncrypt; + int mTransmitMtu; + int mReceiveMtu; + std::wstring mName; + std::wstring mServiceUuid; + std::wstring mProtocol; + std::list mBlockedSenders; + std::locale mLocale; + + // internal data + std::wstring mUrl; + std::wstring mFilter; +}; + +} //end namespace bluetooth +} //end namespace java + +#endif // BTURLPARAMS_H