libzypp
17.37.18
ExternalDataSource.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_EXTERNALDATASOURCE_H
13
#define ZYPP_EXTERNALDATASOURCE_H
14
15
#include <stdio.h>
16
17
#include <string>
18
#include <optional>
19
#include <
zypp-core/base/IOTools.h
>
20
21
namespace
zypp
{
22
namespace
externalprogram {
23
27
class
ZYPP_API
ExternalDataSource
28
{
29
protected
:
30
FILE *
inputfile
;
31
FILE *
outputfile
;
32
33
private
:
34
char
*
linebuffer
;
35
size_t
linebuffer_size
;
36
37
public
:
44
ExternalDataSource
( FILE *inputfile = 0, FILE *outputfile = 0 );
45
49
virtual
~
ExternalDataSource
();
50
56
bool
send(
const
char
*buffer,
size_t
length );
57
62
bool
send( std::string s );
63
70
size_t
receive(
char
*buffer,
size_t
length );
71
76
std::string receiveLine();
77
85
std::string receiveLine(
io::timeout_type
timeout );
86
92
std::string
receiveUpto
(
char
c );
93
101
std::string
receiveUpto
(
char
c,
io::timeout_type
timeout );
102
108
void
setBlocking(
bool
mode );
109
113
virtual
int
close();
114
118
FILE *
inputFile
()
const
{
return
inputfile; }
119
123
FILE *
outputFile
()
const
{
return
outputfile; }
124
};
125
126
}
// namespace externalprogram
127
}
// namespace zypp
128
129
#endif // ZYPP_EXTERNALDATASOURCE_H
130
zypp::externalprogram::ExternalDataSource
Bidirectional stream to external data.
Definition:
ExternalDataSource.h:27
zypp::externalprogram::ExternalDataSource::outputFile
FILE * outputFile() const
Return the output stream.
Definition:
ExternalDataSource.h:123
zypp::io::timeout_type
size_t timeout_type
Definition:
IOTools.h:77
IOTools.h
ZYPP_API
#define ZYPP_API
Definition:
Globals.h:69
zypp::externalprogram::ExternalDataSource::inputfile
FILE * inputfile
Definition:
ExternalDataSource.h:30
zypp::io::receiveUpto
std::pair< ReceiveUpToResult, std::string > receiveUpto(FILE *file, char c, timeout_type timeout, bool failOnUnblockError)
Definition:
IOTools.cc:85
zypp::externalprogram::ExternalDataSource::inputFile
FILE * inputFile() const
Return the input stream.
Definition:
ExternalDataSource.h:118
zypp::externalprogram::ExternalDataSource::linebuffer
char * linebuffer
Definition:
ExternalDataSource.h:34
zypp::externalprogram::ExternalDataSource::outputfile
FILE * outputfile
Definition:
ExternalDataSource.h:31
zypp
Definition:
CodePitfalls.doc:1
zypp::externalprogram::ExternalDataSource::linebuffer_size
size_t linebuffer_size
Definition:
ExternalDataSource.h:35
zypp-core
base
ExternalDataSource.h
Generated by
1.8.14