Instrument Neutral Distributed Interface INDI
2.2.5
indiserver
Fifo.hpp
Go to the documentation of this file.
1
/* INDI Server for protocol version 1.7.
2
* Copyright (C) 2007 Elwood C. Downey <
[email protected]
>
3
2013 Jasem Mutlaq <
[email protected]
>
4
2022 Ludovic Pollet
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
This library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
14
15
You should have received a copy of the GNU Lesser General Public
16
License along with this library; if not, write to the Free Software
17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
#pragma once
20
21
#include <ev++.h>
22
#include <string>
23
24
class
Fifo
25
{
26
std::string name;
/* Path to FIFO for dynamic startups & shutdowns of drivers */
27
28
char
buffer[1024];
29
int
bufferPos = 0;
30
int
fd = -1;
31
ev::io fdev;
32
33
void
close();
34
void
open();
35
void
processLine(
const
char
* line);
36
37
/* Read commands from FIFO and process them. Start/stop drivers accordingly */
38
void
read();
39
void
ioCb(ev::io &watcher,
int
revents);
40
public
:
41
Fifo
(
const
std::string &name);
42
void
listen
()
43
{
44
open();
45
}
46
};
47
48
extern
Fifo
*
fifoHandle
;
fifoHandle
Fifo * fifoHandle
Definition
indiserver.cpp:100
Fifo
Definition
Fifo.hpp:25
Fifo::listen
void listen()
Definition
Fifo.hpp:42
Generated on Thu Oct 22 2026 14:46:48 for Instrument Neutral Distributed Interface INDI by
1.9.8