blob: 757f0edace5a678d408345ecf5dc122e82ec7190 [file] [log] [blame]
/*
* IRemote.h
*
* Created on: Sep 22, 2012
* Author: Mitchell Wills
*/
#ifndef IREMOTE_H_
#define IREMOTE_H_
class IRemote;
#include "IRemoteConnectionListener.h"
/**
* Represents an object that has a remote connection
*
* @author Mitchell
*
*/
class IRemote {
public:
/**
* Register an object to listen for connection and disconnection events
*
* @param listener the listener to be register
* @param immediateNotify if the listener object should be notified of the current connection state
*/
virtual void AddConnectionListener(IRemoteConnectionListener* listener, bool immediateNotify) = 0;
/**
* Unregister a listener from connection events
*
* @param listener the listener to be unregistered
*/
virtual void RemoveConnectionListener(IRemoteConnectionListener* listener) = 0;
/**
* Get the current state of the objects connection
* @return the current connection state
*/
virtual bool IsConnected() = 0;
/**
* If the object is acting as a server
* @return if the object is a server
*/
virtual bool IsServer() = 0;
};
#endif /* IREMOTE_H_ */