AtmiBrokerEnvXml.h
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:3k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #ifndef AtmiBroker_ENV_XML_H_
  19. #define AtmiBroker_ENV_XML_H_
  20. #include "atmiBrokerCoreMacro.h"
  21. #include <map>
  22. #include <string.h>
  23. #include <vector>
  24. typedef struct {
  25. char * name;
  26. char * value;
  27. } envVar_t;
  28. class BLACKTIE_CORE_DLL AtmiBrokerEnvXml {
  29. public:
  30. AtmiBrokerEnvXml();
  31. ~AtmiBrokerEnvXml();
  32. bool parseXmlDescriptor(std::vector<envVar_t>*,
  33. const char * ConfigurationDir,
  34. char * configuration);
  35. };
  36. typedef struct BLACKTIE_CORE_DLL xarm_config {
  37. long resourceMgrId;
  38. char * resourceName;
  39. char * openString;
  40. char * closeString;
  41. char * xasw;
  42. char * xalib;
  43. struct xarm_config * next;
  44. struct xarm_config * head;
  45. }xarm_config_t;
  46. typedef BLACKTIE_CORE_DLL struct _mq_config {
  47. char* host;
  48. int port;
  49. char* user;
  50. char* pwd;
  51. int destinationTimeout;
  52. int requestTimeout;
  53. int timeToLive;
  54. }MqConfig;
  55. typedef BLACKTIE_CORE_DLL struct _orb_config {
  56. char* opt;
  57. char* transactionFactoryName;
  58. }OrbConfig;
  59. typedef BLACKTIE_CORE_DLL struct _service_info {
  60. char* serviceName;
  61. char* transportLib;
  62. char* function_name;
  63. char* library_name;
  64. int poolSize;
  65. bool advertised;
  66. }ServiceInfo;
  67. typedef BLACKTIE_CORE_DLL struct _server_info {
  68. char* serverName;
  69. short maxChannels;
  70. short maxSuppliers;
  71. short maxConsumers;
  72. short maxReplicas;
  73. short logLevel;
  74. std::vector<ServiceInfo> serviceVector;
  75. }ServerInfo;
  76. struct ltstr {
  77. bool operator()(const char* s1, const char* s2) const {
  78. return strcmp(s1, s2) < 0;
  79. }
  80. };
  81. typedef BLACKTIE_CORE_DLL struct _attribute {
  82. char* id;
  83. char* type;
  84. int count;
  85. int length;
  86. int wirePosition;
  87. int memPosition;
  88. int wireSize;
  89. int memSize;
  90. }Attribute;
  91. typedef BLACKTIE_CORE_DLL struct _buffer {
  92. char* name;
  93. std::map<const char*, Attribute*, ltstr> attributes;
  94. long wireSize;
  95. long memSize;
  96. int lastPad;
  97. }Buffer;
  98. typedef BLACKTIE_CORE_DLL std::map<const char*, Attribute*, ltstr> Attributes;
  99. typedef BLACKTIE_CORE_DLL std::map<const char*, Buffer*, ltstr> Buffers;
  100. typedef std::vector<ServerInfo*> ServersInfo;
  101. extern BLACKTIE_CORE_DLL Buffers buffers;
  102. extern BLACKTIE_CORE_DLL xarm_config_t * xarmp;
  103. extern BLACKTIE_CORE_DLL ServersInfo servers;
  104. extern BLACKTIE_CORE_DLL char domain[30];
  105. extern BLACKTIE_CORE_DLL OrbConfig orbConfig;
  106. extern BLACKTIE_CORE_DLL MqConfig mqConfig;
  107. #endif