Commit a3cd3d81937fe2ee4e6ba3993423c4691f4c3413

Authored by Perry Werneck
1 parent 42e5209b

Movend a função de conexão por URL para a biblioteca principal para simplificar a biblioteca de IPC.

@@ -89,11 +89,11 @@ @@ -89,11 +89,11 @@
89 <Unit filename="src/include/lib3270/trace.h" /> 89 <Unit filename="src/include/lib3270/trace.h" />
90 <Unit filename="src/include/plugin.mak.in" /> 90 <Unit filename="src/include/plugin.mak.in" />
91 <Unit filename="src/include/pw3270.h" /> 91 <Unit filename="src/include/pw3270.h" />
92 - <Unit filename="src/include/pw3270/class.h" />  
93 <Unit filename="src/include/pw3270/hllapi.h" /> 92 <Unit filename="src/include/pw3270/hllapi.h" />
94 <Unit filename="src/include/pw3270/ipcpackets.h" /> 93 <Unit filename="src/include/pw3270/ipcpackets.h" />
95 <Unit filename="src/include/pw3270/plugin.h" /> 94 <Unit filename="src/include/pw3270/plugin.h" />
96 <Unit filename="src/include/pw3270/trace.h" /> 95 <Unit filename="src/include/pw3270/trace.h" />
  96 + <Unit filename="src/include/pw3270cpp.h" />
97 <Unit filename="src/include/rules.mak.in" /> 97 <Unit filename="src/include/rules.mak.in" />
98 <Unit filename="src/java/Makefile.in"> 98 <Unit filename="src/java/Makefile.in">
99 <Option target="Debug" /> 99 <Option target="Debug" />
src/include/lib3270.h
@@ -499,6 +499,18 @@ @@ -499,6 +499,18 @@
499 */ 499 */
500 LIB3270_EXPORT int lib3270_connect_host(H3270 *hSession, const char *hostname, const char *srvc, LIB3270_OPTION opt); 500 LIB3270_EXPORT int lib3270_connect_host(H3270 *hSession, const char *hostname, const char *srvc, LIB3270_OPTION opt);
501 501
  502 + /**
  503 + * @brief Connect by URL
  504 + *
  505 + * @param hSession Session handle.
  506 + * @param url Host URL
  507 + * @param wait Seconds to wait for connection.
  508 + *
  509 + * @see lib3270_wait
  510 + *
  511 + * @return 0 for success, EAGAIN if auto-reconnect is in progress, EBUSY if connected, ENOTCONN if connection has failed, -1 on unexpected failure.
  512 + */
  513 + LIB3270_EXPORT int lib3270_connect_url(H3270 *hSession, const char *url, int wait);
502 514
503 /** 515 /**
504 * Disconnect from host. 516 * Disconnect from host.
src/include/pw3270cpp.h
@@ -180,12 +180,8 @@ @@ -180,12 +180,8 @@
180 virtual string get_display_charset(void); 180 virtual string get_display_charset(void);
181 181
182 // Connection & Network 182 // Connection & Network
183 - int connect(const char *host, time_t wait = 0); 183 + virtual int connect(const char *host = "", time_t wait = 0) = 0;
184 int set_host(const char *host); 184 int set_host(const char *host);
185 - virtual int connect(void) = 0;  
186 -  
187 - virtual int set_url(const char *hostname) = 0;  
188 - virtual string get_url() = 0;  
189 185
190 virtual int disconnect(void) = 0; 186 virtual int disconnect(void) = 0;
191 virtual int wait_for_ready(int seconds) = 0; 187 virtual int wait_for_ready(int seconds) = 0;
src/lib3270/connect.c
@@ -180,6 +180,19 @@ static void net_connected(H3270 *hSession, int fd, LIB3270_IO_FLAG flag, void *d @@ -180,6 +180,19 @@ static void net_connected(H3270 *hSession, int fd, LIB3270_IO_FLAG flag, void *d
180 } 180 }
181 #endif // WIN32 181 #endif // WIN32
182 182
  183 + LIB3270_EXPORT int lib3270_connect_url(H3270 *hSession, const char *url, int wait)
  184 + {
  185 + CHECK_SESSION_HANDLE(hSession);
  186 +
  187 + if(url && *url)
  188 + {
  189 + lib3270_set_url(hSession,url);
  190 + }
  191 +
  192 + return lib3270_connect(hSession, wait);
  193 +
  194 + }
  195 +
183 LIB3270_EXPORT int lib3270_connect_host(H3270 *hSession, const char *hostname, const char *srvc, LIB3270_OPTION opt) 196 LIB3270_EXPORT int lib3270_connect_host(H3270 *hSession, const char *hostname, const char *srvc, LIB3270_OPTION opt)
184 { 197 {
185 CHECK_SESSION_HANDLE(hSession); 198 CHECK_SESSION_HANDLE(hSession);