-
Notifications
You must be signed in to change notification settings - Fork 14
/
ACBrNFe.h
62 lines (53 loc) · 1.35 KB
/
ACBrNFe.h
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <cstdint>
#include <string>
#include "ACBrNFeDinamico.h"
// Check windows
#if _WIN32 || _WIN64
#if _WIN64
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif
#if _WIN32 || _WIN64
#define ISWINDOWS
#elif __GNUC__
#define ISUNIX
#endif
// Check GCC
#if __GNUC__
#if __x86_64__ || __ppc64__
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif
#if defined(ISWINDOWS)
#include <windows.h>
#endif
#define BUFFER_LEN 256
class ACBrNFe{
private:
#if defined(ISWINDOWS)
HMODULE nHandler;
#else
void* nHandler;
#endif
std::string trim(std::string& buffer) const;
void check_result(int ret) const;
std::string process_result(std::string buffer, int buffer_len);
public:
ACBrNFe(const std::string ePathLib, std::string eArqConfig, std::string eChaveCrypt);
ACBrNFe() : ACBrNFe("", "", "") {}
~ACBrNFe();
std::string _NFE_Nome();
std::string _NFE_Versao();
std::int32_t _NFE_ConfigGravarValor(std::string eSessao, std::string eChave, std::string sValor);
std::int32_t _NFE_CarregarXML(std::string eArquivoOuXML);
std::int32_t _NFE_Assinar();
std::int32_t _NFE_Validar();
std::string _NFE_ObterXml(std::int32_t AIndex);
std::string _NFE_Enviar(std::int32_t ALote, bool Imprimir, bool Sincrono, bool Zipado);
std::int32_t _NFE_LimparLista();
std::int32_t _NFE_ImprimirPDF();
};