Faspstream Manager C/C++ API  3.6.1
A C and C++ language interface to basic streaming over the fasp protocol
FaspInputStreamFromFile.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <vector>
5 
6 #include <Poco/Process.h>
7 #include <Poco/SharedPtr.h>
8 #include <Poco/PipeStream.h>
9 
10 #include "Constants.h"
11 
12 #ifdef WIN32
13 
14 #ifdef FASPSTREAM_CPP_EXPORTS
15 #define FASPSTREAM_CPP_API __declspec(dllexport)
16 #else
17 #define FASPSTREAM_CPP_API __declspec(dllimport)
18 #endif
19 
20 #else // NOT WIN32
21 #define FASPSTREAM_CPP_API
22 #endif
23 
31 {
32 
33 private:
34  Poco::SharedPtr<Poco::ProcessHandle> _ph;
35  Poco::Pipe _outPipe;
36  Poco::Pipe _errPipe;
37 
38  int _udpPort;
39  int _tcpPort;
40  int _maxMemory;
41  std::string _ascpPath;
42  std::string _sshKeyFilePath;
43  std::string _sourceFilePath;
44  std::string _username;
45  std::string _password;
46  std::string _hostname;
47  long _datagramSize;
48  long _chunkSize;
49  long _targetRate;
50  long _minRate;
51  FASPSTREAM_POLICY_TYPE _policy;
52  bool _eof;
53  std::string _license;
54 
55 public:
61  std::vector<std::string> getCommandline() const;
62 
65  FASPSTREAM_CPP_API void setAscpPath(const std::string& ascpPath);
66  FASPSTREAM_CPP_API std::string getAscpPath() const;
68  const std::string& sshKeyFilePath);
69  FASPSTREAM_CPP_API std::string getSshKeyFilePath() const;
71  const std::string& sourceFilePath);
72  FASPSTREAM_CPP_API std::string getSourceFilePath() const;
73  FASPSTREAM_CPP_API void setUsername(const std::string& username);
74  FASPSTREAM_CPP_API std::string getUsername() const;
75  FASPSTREAM_CPP_API void setPassword(const std::string& password);
76  FASPSTREAM_CPP_API std::string getPassword() const;
77  FASPSTREAM_CPP_API void setHostname(const std::string& hostname);
78  FASPSTREAM_CPP_API std::string getHostname() const;
79  FASPSTREAM_CPP_API void setDatagramSize(const long datagramSize );
81  FASPSTREAM_CPP_API void setChunkSize(const long chunkSize);
82  FASPSTREAM_CPP_API long getChunkSize() const;
83  FASPSTREAM_CPP_API void setTargetRate(const long minRate);
84  FASPSTREAM_CPP_API long getTargetRate() const;
85  FASPSTREAM_CPP_API void setMinRate(const long minRate);
86  FASPSTREAM_CPP_API long getMinRate() const;
90  FASPSTREAM_CPP_API int getTcpPort() const;
91  FASPSTREAM_CPP_API void setTcpPort(int udpPort);
92  FASPSTREAM_CPP_API int getUdpPort() const;
93  FASPSTREAM_CPP_API void setUdpPort(int udpPort);
94  FASPSTREAM_CPP_API int getMaxMemory() const;
95  FASPSTREAM_CPP_API void setMaxMemory(int maxMem);
96  FASPSTREAM_CPP_API std::string getLogDirectory() const;
97  FASPSTREAM_CPP_API int read(char* buffer, int offset, int length);
98  FASPSTREAM_CPP_API std::string close();
100  FASPSTREAM_CPP_API bool eof();
101  FASPSTREAM_CPP_API void setLicense(std::string commandToExecute);
102  FASPSTREAM_CPP_API std::string getLicense() const;
103 };
FASPSTREAM_CPP_API ~FaspInputStreamFromFile()
FASPSTREAM_CPP_API FaspInputStreamFromFile()
FASPSTREAM_CPP_API void setDatagramSize(const long datagramSize)
FASPSTREAM_CPP_API void setUsername(const std::string &username)
FASPSTREAM_CPP_API void setPassword(const std::string &password)
FASPSTREAM_CPP_API void setMinRate(const long minRate)
FASPSTREAM_CPP_API void setChunkSize(const long chunkSize)
FASPSTREAM_CPP_API long getDatagramSize() const
FASPSTREAM_CPP_API std::string getUsername() const
FASPSTREAM_CPP_API void setLicense(std::string commandToExecute)
FASPSTREAM_CPP_API void setUdpPort(int udpPort)
FASPSTREAM_CPP_API std::string getSshKeyFilePath() const
FASPSTREAM_CPP_API std::string getLogDirectory() const
FASPSTREAM_CPP_API bool eof()
FASPSTREAM_CPP_API long getChunkSize() const
FASPSTREAM_CPP_API void setPolicy(FASPSTREAM_POLICY_TYPE ascpPath)
FASPSTREAM_POLICY_TYPE
Definition: fasp_stream_constants.h:25
FASPSTREAM_CPP_API std::string getAscpPath() const
FASPSTREAM_CPP_API void setHostname(const std::string &hostname)
FASPSTREAM_CPP_API void setTcpPort(int udpPort)
Definition: FaspInputStreamFromFile.h:30
FASPSTREAM_CPP_API void forceClose()
FASPSTREAM_CPP_API std::string close()
FASPSTREAM_CPP_API int getUdpPort() const
std::vector< std::string > getCommandline() const
FASPSTREAM_CPP_API void setMaxMemory(int maxMem)
FASPSTREAM_CPP_API std::string getHostname() const
FASPSTREAM_CPP_API int getTcpPort() const
FASPSTREAM_CPP_API long getMinRate() const
FASPSTREAM_CPP_API bool startReceiver()
FASPSTREAM_CPP_API std::string getLicense() const
FASPSTREAM_CPP_API int getMaxMemory() const
FASPSTREAM_CPP_API void setSourceFilePath(const std::string &sourceFilePath)
FASPSTREAM_CPP_API void setTargetRate(const long minRate)
FASPSTREAM_CPP_API long getTargetRate() const
FASPSTREAM_CPP_API std::string getSourceFilePath() const
FASPSTREAM_CPP_API void setSshKeyFilePath(const std::string &sshKeyFilePath)
FASPSTREAM_CPP_API FASPSTREAM_POLICY_TYPE getPolicy() const
FASPSTREAM_CPP_API std::string getPassword() const
FASPSTREAM_CPP_API void setAscpPath(const std::string &ascpPath)
#define FASPSTREAM_CPP_API
Definition: FaspInputStreamFromFile.h:21
FASPSTREAM_CPP_API int read(char *buffer, int offset, int length)