libzypp
17.35.13
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:28
zypp::externalprogram::ExternalDataSource::outputFile
FILE * outputFile() const
Return the output stream.
Definition
ExternalDataSource.h:123
zypp::externalprogram::ExternalDataSource::linebuffer_size
size_t linebuffer_size
Definition
ExternalDataSource.h:35
zypp::externalprogram::ExternalDataSource::inputfile
FILE * inputfile
Definition
ExternalDataSource.h:30
zypp::externalprogram::ExternalDataSource::outputfile
FILE * outputfile
Definition
ExternalDataSource.h:31
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::io::timeout_type
size_t timeout_type
Definition
IOTools.h:77
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition
Application.cc:20
zypp::ZYPP_API
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Definition
Arch.h:247
IOTools.h
zypp-core
base
ExternalDataSource.h
Generated by
1.12.0