Mercurial > repos > ktnyt > gembassy
comparison GEMBASSY-1.0.3/gsoap/extras/logging.cpp @ 2:8947fca5f715 draft default tip
Uploaded
| author | ktnyt |
|---|---|
| date | Fri, 26 Jun 2015 05:21:44 -0400 |
| parents | 84a17b3fad1f |
| children |
comparison
equal
deleted
inserted
replaced
| 1:84a17b3fad1f | 2:8947fca5f715 |
|---|---|
| 1 // logging.cpp | |
| 2 // | |
| 3 // Place this file in the same direcory as stdsoap2.h | |
| 4 // Requires soapdefs.h (compile stdsoap2.cpp with -DWITH_SOAPDEFS_H | |
| 5 // and -DDEBUG_CALLBACKS) | |
| 6 // | |
| 7 // Runtime/Customer logging by Mike Helmick | |
| 8 // Copyright (c) 2002 - Mike Helmick. Convergys IMG. All Rights Reserved. | |
| 9 // This contributed code is covered under the MPL 1.1 license | |
| 10 | |
| 11 #include "stdsoap2.h" // includes "soapdefs.h" when compiled with -DWITH_SOAPDEFS_H | |
| 12 | |
| 13 void soap_recv_callback(struct soap*, const char*, size_t len); | |
| 14 void soap_sent_callback(struct soap*, const char*, size_t len); | |
| 15 void soap_test_callback(struct soap*, const char*, size_t len); | |
| 16 | |
| 17 void | |
| 18 soap_dispatch_callback(struct soap *soap, int idx, const char *msg, size_t len) | |
| 19 { if (!soap->user) | |
| 20 { // you can set stuff up here, streams etc. | |
| 21 // soap->user is used to pass user-defined data | |
| 22 // soap->user is never set nor cleared by gSOAP | |
| 23 soap->user = (void*)&cout; | |
| 24 // don't forget to clean up the streams in the main code | |
| 25 // (before discarding the soap runtime environment) | |
| 26 } | |
| 27 switch (idx) | |
| 28 { case SOAP_INDEX_RECV: | |
| 29 soap_recv_callback(soap, msg, len); | |
| 30 break; | |
| 31 case SOAP_INDEX_SENT: | |
| 32 soap_sent_callback(soap, msg, len); | |
| 33 break; | |
| 34 case SOAP_INDEX_TEST: | |
| 35 soap_test_callback(soap, msg, len); | |
| 36 break; | |
| 37 } | |
| 38 } | |
| 39 | |
| 40 // Note: 'msg' is not 0-terminated! | |
| 41 void | |
| 42 soap_recv_callback(struct soap *soap, const char *msg, size_t len) | |
| 43 { ostream& os = *(ostream*)soap->user; | |
| 44 os << endl | |
| 45 << "Received:" << endl | |
| 46 << "----------------------------------------" << endl; | |
| 47 os.write(msg, len); | |
| 48 os << "----------------------------------------" << endl; | |
| 49 } | |
| 50 | |
| 51 void | |
| 52 soap_sent_callback(struct soap *soap, const char *msg, size_t len) | |
| 53 { ostream& os = *(ostream*)soap->user; | |
| 54 os << endl | |
| 55 << "Sent:" << endl | |
| 56 << "----------------------------------------" << endl; | |
| 57 os.write(msg, len); | |
| 58 os << "----------------------------------------" << endl; | |
| 59 } | |
| 60 | |
| 61 void | |
| 62 soap_test_callback(struct soap *soap, const char *msg, size_t len) | |
| 63 { (*(ostream*)soap->user << "Trace: ").write(msg, len); | |
| 64 } |
