fintp_connectors
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Macros
Pages
MqFetcher.h
Go to the documentation of this file.
1
/*
2
* FinTP - Financial Transactions Processing Application
3
* Copyright (C) 2013 Business Information Systems (Allevo) S.R.L.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* This program 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
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>
17
* or contact Allevo at : 031281 Bucuresti, 23C Calea Vitan, Romania,
18
* phone +40212554577, office@allevo.ro <mailto:office@allevo.ro>, www.allevo.ro.
19
*/
20
21
#ifndef MQFETCHER_H
22
#define MQFETCHER_H
23
24
#include "MQ/MqWatcher.h"
25
#include "TransportHelper.h"
26
#include "../Endpoint.h"
27
#include "Swift/SAAFilter.h"
28
#include "Swift/SwiftFormatFilter.h"
29
30
#ifndef NO_DB
31
#include "Database.h"
32
#include "DatabaseProvider.h"
33
#endif
34
35
using namespace
std;
36
37
class
MqFetcher
:
public
Endpoint
38
{
39
protected
:
40
41
// methods for controlling the endpoint
42
void
internalStart();
43
void
internalStop();
44
45
public
:
46
47
// constructor
48
MqFetcher
();
49
50
//destructor
51
~
MqFetcher
();
52
53
// called before start. allows the endpoint to prepare environment
54
void
Init();
55
56
// methods for transactional execution
59
string
Prepare();
60
62
void
Commit();
63
65
void
Abort();
66
68
void
Rollback();
69
72
void
Process(
const
string
& correlationId );
73
74
bool
moreMessages()
const
;
75
76
pthread_t
getWatcherThreadId
() {
return
m_Watcher.getThreadId(); }
77
78
private
:
81
string
GetIDImageReference( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *doc );
82
83
MqWatcher
m_Watcher
;
84
85
string
m_WatchQueue
;
86
string
m_WatchQueueManager
;
87
string
m_TransportURI
;
88
89
string
m_StrictSwiftFormat
;
90
SwiftFormatFilter*
m_SAASingleFilter
;
91
SAAFilter*
m_SAAGroupFilter
;
92
93
string
m_SSLKeyRepos, m_SSLCypherSpec,
m_SSLPeerName
;
94
bool
m_IsSigned
;
95
string
m_CertificateFileName,
m_CertificatePasswd
;
96
97
string
m_CurrentMessageId
;
98
string
m_CurrentGroupId
;
99
unsigned
long
m_CurrentMessageLength
;
100
101
int
m_CurrentSequence
;
// sequence of the currently processing message in batch
102
103
//if BatchXml processing ( config ) it is the BatchXsltFile specified in config
104
string
m_BatchXsltFile
;
105
106
TransportHelper*
m_CurrentHelper
;
107
108
#ifndef NO_DB
109
Database *
m_CurrentDatabase
;
110
DatabaseProviderFactory *
m_CurrentProvider
;
111
#endif
112
113
string
m_DatabaseProvider
;
114
string
m_DatabaseName
;
//Connector Database Name
115
string
m_UserName
;
//Connector User
116
string
m_UserPassword
;
//Connector Password
117
118
string
m_IDCertificateFileName,
m_IDCertificatePasswd
;
119
string
m_LAUKey
;
120
121
bool
m_IsCurrentMessageID
;
122
bool
m_IsIDsEnabled
;
123
string
m_firstBatchId
;
124
string
m_PreviousImageRef
;
125
};
126
127
#endif //MQFETCHER_H
src
MqConnector
MqFetcher.h
Generated on Tue Aug 12 2014 09:51:15 for fintp_connectors by
1.8.3.1