2 /// \file m_mode_base.h
3 /// Base for mode classes
7 Copyright (C) 2005-2010, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #ifndef __BARRY_M_MODE_BASE_H__
23 #define __BARRY_M_MODE_BASE_H__
26 #include "controller.h"
35 /// Base class for simple mode classes. Put common code here.
41 Controller::ModeType m_modetype
;
42 SocketHandle m_socket
;
44 uint16_t m_ModeSocket
; // socket recommended by device
45 // when mode was selected
48 Mode(Controller
&con
, Controller::ModeType type
);
51 //////////////////////////////////
52 // primary operations - required before anything else
54 void Open(const char *password
= 0);
55 void Open(const char *password
, const char *name
);
56 void RetryPassword(const char *password
);
60 //////////////////////////////////
63 virtual void OnOpen();
66 }} // namespace Barry::Mode