aboutsummaryrefslogtreecommitdiffstats
path: root/ncpd/channel.h
blob: b71e248dce32280d1625dd5391d2fcc7dcfadfea (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
#ifndef _channel_h_
#define _channel_h_

#include <stdio.h>

#include "bool.h"

class ncp;
class bufferStore;

class channel {
public:
  channel(ncp *ncpController);
  void newNcpController(ncp *ncpController);

  void setNcpChannel(int chan);
  void ncpSend(bufferStore &a);
  virtual void ncpDataCallback(bufferStore &a) = NULL;
  virtual const char *getNcpConnectName() = NULL;
  void ncpConnect();
  virtual void ncpConnectAck() = NULL;
  virtual void ncpConnectTerminate() = NULL;
  void ncpDisconnect();

  // The following two calls are used for destructing an instance
  virtual bool terminate(); // Mainloop will terminate this class if true
  void terminateWhenAsked();
private:
  ncp *ncpController;
  bool _terminate;
  int ncpChannel;
};

#endif