summaryrefslogtreecommitdiffstats
path: root/src/piklab-prog/cli_prog_manager.h
blob: 8c3bfc0ed08939bf3567044605cb277dc7c8557d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/***************************************************************************
 *   Copyright (C) 2006 Nicolas Hadacek <[email protected]>                  *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 ***************************************************************************/
#ifndef CLI_PROG_MANAGER_H
#define CLI_PROG_MANAGER_H

#include "progs/manager/prog_manager.h"
#include "cli_debug_manager.h"
#include "cmdline.h"

namespace Programmer
{
class CliManager : public Manager
{
TQ_OBJECT
  
public:
  CliManager(TQObject *parent) : Manager(parent), _state(Idle) {}
  Port::Description portDescription() const;
  virtual void createProgrammer(const Device::Data *data);

private:
  State _state;

  virtual const Group &group() const { return *CLI::_progGroup; }
  virtual void setState(State state) { _state = state; }
  virtual const Device::Data *device() const { return CLI::_device; }
  virtual bool internalInitProgramming(bool debugging);
  virtual bool isTargetSelfPowered() const;
};

} // namespace

#endif