diff -r 000000000000 -r c316ab048e9d browser/engine/inc/ConnectionManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/engine/inc/ConnectionManager.h Fri Jun 25 12:50:05 2010 +0200 @@ -0,0 +1,65 @@ +/* + * Name : ConnectionManager.h + * Description : Manages application connection + * Project : This file is part of OpenMAR, an Open Mobile Augmented Reality browser + * Website : http://OpenMAR.org + * + * Copyright (c) 2010 David Caabeiro + * + * All rights reserved. This program and the accompanying materials are made available + * under the terms of the Eclipse Public License v1.0 which accompanies this + * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + * + */ + +#ifndef CONNECTIONMANAGER_H_ +#define CONNECTIONMANAGER_H_ + +#include +#include +#include + +class CSettingManager; + +/** + * @brief Notifies the status of the started connection + */ +class MConnectionManager +{ +public: + virtual void ConnectionStartedL(TInt aError) = 0; +}; + +/** + * @brief Initializes a working connection + * + */ +class CConnectionManager : public CActive, public MConnectionMonitorObserver +{ +public: + static CConnectionManager* NewL(MConnectionManager& aObserver, CSettingManager& aSetting); + ~CConnectionManager(); + +protected: + CConnectionManager(MConnectionManager& aObserver, CSettingManager& aSetting); + void ConstructL(); + + // From CActive + void RunL(); + void DoCancel(); + + // From MConnectionMonitorObserver + void EventL(const CConnMonEventBase& aEvent); + +private: + MConnectionManager& iObserver; + CSettingManager& iSetting; + + RSocketServ iSocketServ; + RConnection iConnection; + RConnectionMonitor iMonitor; + + TUint32 iIapId; +}; + +#endif