commit
99bb3abd3d
@ -0,0 +1,63 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Set default behavior to automatically normalize line endings.
|
||||||
|
###############################################################################
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior for command prompt diff.
|
||||||
|
#
|
||||||
|
# This is need for earlier builds of msysgit that does not have it on by
|
||||||
|
# default for csharp files.
|
||||||
|
# Note: This is only used by command line
|
||||||
|
###############################################################################
|
||||||
|
#*.cs diff=csharp
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set the merge driver for project and solution files
|
||||||
|
#
|
||||||
|
# Merging from the command prompt will add diff markers to the files if there
|
||||||
|
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||||
|
# the diff markers are never inserted). Diff markers may cause the following
|
||||||
|
# file extensions to fail to load in VS. An alternative would be to treat
|
||||||
|
# these files as binary and thus will always conflict and require user
|
||||||
|
# intervention with every merge. To do so, just uncomment the entries below
|
||||||
|
###############################################################################
|
||||||
|
#*.sln merge=binary
|
||||||
|
#*.csproj merge=binary
|
||||||
|
#*.vbproj merge=binary
|
||||||
|
#*.vcxproj merge=binary
|
||||||
|
#*.vcproj merge=binary
|
||||||
|
#*.dbproj merge=binary
|
||||||
|
#*.fsproj merge=binary
|
||||||
|
#*.lsproj merge=binary
|
||||||
|
#*.wixproj merge=binary
|
||||||
|
#*.modelproj merge=binary
|
||||||
|
#*.sqlproj merge=binary
|
||||||
|
#*.wwaproj merge=binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# behavior for image files
|
||||||
|
#
|
||||||
|
# image files are treated as binary by default.
|
||||||
|
###############################################################################
|
||||||
|
#*.jpg binary
|
||||||
|
#*.png binary
|
||||||
|
#*.gif binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# diff behavior for common document formats
|
||||||
|
#
|
||||||
|
# Convert binary document formats to text before diffing them. This feature
|
||||||
|
# is only available from the command line. Turn it on by uncommenting the
|
||||||
|
# entries below.
|
||||||
|
###############################################################################
|
||||||
|
#*.doc diff=astextplain
|
||||||
|
#*.DOC diff=astextplain
|
||||||
|
#*.docx diff=astextplain
|
||||||
|
#*.DOCX diff=astextplain
|
||||||
|
#*.dot diff=astextplain
|
||||||
|
#*.DOT diff=astextplain
|
||||||
|
#*.pdf diff=astextplain
|
||||||
|
#*.PDF diff=astextplain
|
||||||
|
#*.rtf diff=astextplain
|
||||||
|
#*.RTF diff=astextplain
|
@ -0,0 +1,340 @@
|
|||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.rsuser
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Aa][Rr][Mm]/
|
||||||
|
[Aa][Rr][Mm]64/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Ll]og/
|
||||||
|
|
||||||
|
# Visual Studio 2015/2017 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# Visual Studio 2017 auto generated files
|
||||||
|
Generated\ Files/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUNIT
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# Benchmark Results
|
||||||
|
BenchmarkDotNet.Artifacts/
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Files built by Visual Studio
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_h.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.iobj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.ipdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*_wpftmp.csproj
|
||||||
|
*.log
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# Visual Studio Trace Files
|
||||||
|
*.e2e
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# JustCode is a .NET coding add-in
|
||||||
|
.JustCode
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# AxoCover is a Code Coverage Tool
|
||||||
|
.axoCover/*
|
||||||
|
!.axoCover/settings.json
|
||||||
|
|
||||||
|
# Visual Studio code coverage results
|
||||||
|
*.coverage
|
||||||
|
*.coveragexml
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# MightyMoose
|
||||||
|
*.mm.*
|
||||||
|
AutoTest.Net/
|
||||||
|
|
||||||
|
# Web workbench (sass)
|
||||||
|
.sass-cache/
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.azurePubxml
|
||||||
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/[Pp]ackages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/[Pp]ackages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/[Pp]ackages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
*.appx
|
||||||
|
|
||||||
|
# Visual Studio cache files
|
||||||
|
# files ending in .cache can be ignored
|
||||||
|
*.[Cc]ache
|
||||||
|
# but keep track of directories ending in .cache
|
||||||
|
!?*.[Cc]ache/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
ClientBin/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Including strong name files can present a security risk
|
||||||
|
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||||
|
#*.snk
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file
|
||||||
|
# to a newer Visual Studio version. Backup files are not needed,
|
||||||
|
# because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
ServiceFabricBackup/
|
||||||
|
*.rptproj.bak
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
*.ndf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
*.rptproj.rsuser
|
||||||
|
*- Backup*.rdl
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
|
*.vbw
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# JetBrains Rider
|
||||||
|
.idea/
|
||||||
|
*.sln.iml
|
||||||
|
|
||||||
|
# CodeRush personal settings
|
||||||
|
.cr/personal
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Cake - Uncomment if you are using it
|
||||||
|
# tools/**
|
||||||
|
# !tools/packages.config
|
||||||
|
|
||||||
|
# Tabs Studio
|
||||||
|
*.tss
|
||||||
|
|
||||||
|
# Telerik's JustMock configuration file
|
||||||
|
*.jmconfig
|
||||||
|
|
||||||
|
# BizTalk build output
|
||||||
|
*.btp.cs
|
||||||
|
*.btm.cs
|
||||||
|
*.odx.cs
|
||||||
|
*.xsd.cs
|
||||||
|
|
||||||
|
# OpenCover UI analysis results
|
||||||
|
OpenCover/
|
||||||
|
|
||||||
|
# Azure Stream Analytics local run output
|
||||||
|
ASALocalRun/
|
||||||
|
|
||||||
|
# MSBuild Binary and Structured Log
|
||||||
|
*.binlog
|
||||||
|
|
||||||
|
# NVidia Nsight GPU debugger configuration file
|
||||||
|
*.nvuser
|
||||||
|
|
||||||
|
# MFractors (Xamarin productivity tool) working folder
|
||||||
|
.mfractor/
|
||||||
|
|
||||||
|
# Local History for Visual Studio
|
||||||
|
.localhistory/
|
||||||
|
|
||||||
|
# BeatPulse healthcheck temp database
|
||||||
|
healthchecksdb
|
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
#include "stdsoap2.h"
|
||||||
|
/* This defines the global XML namespaces[] table to #include and compile */
|
||||||
|
SOAP_NMAC struct Namespace namespaces[] = {
|
||||||
|
{ "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL },
|
||||||
|
{ "SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL },
|
||||||
|
{ "xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL },
|
||||||
|
{ "xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL },
|
||||||
|
{ "WS1", "http://entry.serviceengine.cross.digiwin.com", NULL, NULL },
|
||||||
|
{ NULL, NULL, NULL, NULL}
|
||||||
|
};
|
@ -0,0 +1,46 @@
|
|||||||
|
#include "connor_erp_mes.h"
|
||||||
|
#include <base_utils/IFail.hxx>
|
||||||
|
#include <base_utils/TcResultStatus.hxx>
|
||||||
|
|
||||||
|
int QF_Delete_TCM(EPM_action_message_t msg) {
|
||||||
|
ResultStatus s;
|
||||||
|
int ifail = ITK_ok, attachment_cnt = 0;
|
||||||
|
tag_t root_task = NULLTAG, * attachment_tags = NULL;
|
||||||
|
char* object_string = NULL, * object_type = NULL;
|
||||||
|
if (msg.task == NULLTAG) {
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
printf("QF_Delete_TCM\n");
|
||||||
|
try {
|
||||||
|
set_bypass(true);
|
||||||
|
s = EPM_ask_root_task(msg.task, &root_task);
|
||||||
|
s = EPM_ask_attachments(root_task, EPM_target_attachment, &attachment_cnt, &attachment_tags);
|
||||||
|
printf("Target Count: %d\n", attachment_cnt);
|
||||||
|
for (int i = 0; i < attachment_cnt; i++) {
|
||||||
|
DOFREE(object_string);
|
||||||
|
DOFREE(object_type);
|
||||||
|
tag_t target = attachment_tags[i];
|
||||||
|
int releaseFlag = 0;
|
||||||
|
s = AOM_ask_value_string(target, "object_string", &object_string);
|
||||||
|
s = WSOM_ask_object_type2(target, &object_type);
|
||||||
|
s = EPM_ask_if_released(target, &releaseFlag);
|
||||||
|
printf("%d. %s [%s] > %d\n", i + 1, object_string, object_type, releaseFlag);
|
||||||
|
if (releaseFlag == 1) {
|
||||||
|
printf(">> Remove\n");
|
||||||
|
s = EPM_remove_attachments(root_task, 1, &target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const IFail& ex) {
|
||||||
|
ifail = ex.ifail();
|
||||||
|
cout << ex.getMessage() << endl;
|
||||||
|
cout << "error " << ex.ifail() << endl;
|
||||||
|
}
|
||||||
|
end:
|
||||||
|
DOFREE(object_string);
|
||||||
|
DOFREE(object_type);
|
||||||
|
DOFREE(attachment_tags);
|
||||||
|
set_bypass(false);
|
||||||
|
printf("Finish [%d]\n", ifail);
|
||||||
|
return ifail;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <tccore/custom.h>
|
||||||
|
#include <server_exits/user_server_exits.h>
|
||||||
|
#include "kutil.h"
|
||||||
|
#include <list>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
DLLAPI int USERSERVICE_custom_register_methods();
|
||||||
|
DLLAPI int USERSERVICE_custom_register_handlers(int* decision, va_list args);
|
||||||
|
|
||||||
|
int QF_ERP_wl(EPM_action_message_t msg);
|
||||||
|
int QF_ERP_BOM(EPM_action_message_t msg);
|
||||||
|
int QF_ERP_BOP(EPM_action_message_t msg);
|
||||||
|
int QF_Delete_TCM(EPM_action_message_t msg);
|
||||||
|
//int connor_send_envelop(void * returnValue);
|
||||||
|
int WX3_send_mail(void * returnValue);
|
||||||
|
#define debug true
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
@ -0,0 +1,107 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="源文件">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="头文件">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="资源文件">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="tinyxml">
|
||||||
|
<UniqueIdentifier>{ae45bcd9-07c3-42f7-adb6-89f12d05f98f}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="webservice">
|
||||||
|
<UniqueIdentifier>{b7279c7f-ff82-4b91-8f5e-06851f556c98}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="md5">
|
||||||
|
<UniqueIdentifier>{7c178b44-e75f-47ed-9958-67713d53b075}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="connor_erp_mes.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="kutil.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="QF_ERP_wl.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tinystr.cpp">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tinyxml.cpp">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tinyxmlerror.cpp">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tinyxmlparser.cpp">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="crossC.cpp">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="crossClient.cpp">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="stdsoap2.cpp">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="plugin.c">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="md5.cpp">
|
||||||
|
<Filter>md5</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="QF_Delete_TCM.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="connor_send_envelop.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="connor_erp_mes.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="kutil.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="tinystr.h">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="tinyxml.h">
|
||||||
|
<Filter>tinyxml</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="cross.h">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="crossH.h">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="crossStub.h">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="stdsoap2.h">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="plugin.h">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="md5.h">
|
||||||
|
<Filter>md5</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="IntegrationEntrySoapBinding.nsmap">
|
||||||
|
<Filter>webservice</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
@ -0,0 +1,41 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#pragma warning (disable: 4996)
|
||||||
|
#pragma warning (disable: 4819)
|
||||||
|
#pragma warning (disable: 4995)
|
||||||
|
#include <tc/envelope.h>
|
||||||
|
#include <tc/folder.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <ict/ict_userservice.h>
|
||||||
|
|
||||||
|
#include <tccore/aom.h>
|
||||||
|
#include <tccore/aom_prop.h>
|
||||||
|
#include "connor_erp_mes.h"
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
extern "C" int POM_AM__set_application_bypass(logical bypass);
|
||||||
|
|
||||||
|
|
||||||
|
int WX3_send_mail(void* returnValue)
|
||||||
|
{
|
||||||
|
char *title, *content;
|
||||||
|
tag_t dataset, target_user, *copy_user, envelope_tag;
|
||||||
|
int copy_user_num;
|
||||||
|
USERARG_get_string_argument(&title);
|
||||||
|
USERARG_get_string_argument(&content);
|
||||||
|
USERARG_get_tag_argument(&target_user);
|
||||||
|
USERARG_get_tag_array_argument(©_user_num, ©_user);
|
||||||
|
USERARG_get_tag_argument(&dataset);
|
||||||
|
MAIL_create_envelope(title, content, &envelope_tag);
|
||||||
|
MAIL_initialize_envelope2(envelope_tag, title, content);//这句存在此处,可能发不出邮件
|
||||||
|
MAIL_add_envelope_receiver(envelope_tag, target_user);
|
||||||
|
for (auto i = 0; i<copy_user_num; i++)
|
||||||
|
{
|
||||||
|
MAIL_add_envelope_cc_receiver(envelope_tag, copy_user[i]);
|
||||||
|
}
|
||||||
|
//AOM_set_value_tags(envelope_tag, "contents", 1, tags);
|
||||||
|
FL_insert(envelope_tag, dataset, 1);
|
||||||
|
MAIL_send_envelope(envelope_tag);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,988 @@
|
|||||||
|
/* crossClient.cpp
|
||||||
|
Generated by gSOAP 2.8.91 for cross.h
|
||||||
|
|
||||||
|
gSOAP XML Web services tools
|
||||||
|
Copyright (C) 2000-2018, Robert van Engelen, Genivia Inc. All Rights Reserved.
|
||||||
|
The soapcpp2 tool and its generated software are released under the GPL.
|
||||||
|
This program is released under the GPL with the additional exemption that
|
||||||
|
compiling, linking, and/or using OpenSSL is allowed.
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
A commercial use license is available from Genivia Inc., contact@genivia.com
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(__BORLANDC__)
|
||||||
|
#pragma option push -w-8060
|
||||||
|
#pragma option push -w-8004
|
||||||
|
#endif
|
||||||
|
#include "crossH.h"
|
||||||
|
|
||||||
|
SOAP_SOURCE_STAMP("@(#) crossClient.cpp ver 2.8.91 2021-05-24 02:42:29 GMT")
|
||||||
|
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__invokeEtl(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeEtl *WS1__invokeEtl, _WS1__invokeEtlResponse &WS1__invokeEtlResponse)
|
||||||
|
{ if (soap_send___WS1__invokeEtl(soap, soap_endpoint, soap_action, WS1__invokeEtl) || soap_recv___WS1__invokeEtl(soap, WS1__invokeEtlResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__invokeEtl(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeEtl *WS1__invokeEtl)
|
||||||
|
{ struct __WS1__invokeEtl soap_tmp___WS1__invokeEtl;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__invokeEtl.WS1__invokeEtl = WS1__invokeEtl;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__invokeEtl(soap, &soap_tmp___WS1__invokeEtl);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeEtl(soap, &soap_tmp___WS1__invokeEtl, "-WS1:invokeEtl", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeEtl(soap, &soap_tmp___WS1__invokeEtl, "-WS1:invokeEtl", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__invokeEtl(struct soap *soap, _WS1__invokeEtlResponse &WS1__invokeEtlResponse)
|
||||||
|
{
|
||||||
|
WS1__invokeEtlResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__invokeEtlResponse.soap_get(soap, "WS1:invokeEtlResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getEtlJobList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getEtlJobList *WS1__getEtlJobList, _WS1__getEtlJobListResponse &WS1__getEtlJobListResponse)
|
||||||
|
{ if (soap_send___WS1__getEtlJobList(soap, soap_endpoint, soap_action, WS1__getEtlJobList) || soap_recv___WS1__getEtlJobList(soap, WS1__getEtlJobListResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getEtlJobList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getEtlJobList *WS1__getEtlJobList)
|
||||||
|
{ struct __WS1__getEtlJobList soap_tmp___WS1__getEtlJobList;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getEtlJobList.WS1__getEtlJobList = WS1__getEtlJobList;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getEtlJobList(soap, &soap_tmp___WS1__getEtlJobList);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getEtlJobList(soap, &soap_tmp___WS1__getEtlJobList, "-WS1:getEtlJobList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getEtlJobList(soap, &soap_tmp___WS1__getEtlJobList, "-WS1:getEtlJobList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getEtlJobList(struct soap *soap, _WS1__getEtlJobListResponse &WS1__getEtlJobListResponse)
|
||||||
|
{
|
||||||
|
WS1__getEtlJobListResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getEtlJobListResponse.soap_get(soap, "WS1:getEtlJobListResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getParamList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getParamList *WS1__getParamList, _WS1__getParamListResponse &WS1__getParamListResponse)
|
||||||
|
{ if (soap_send___WS1__getParamList(soap, soap_endpoint, soap_action, WS1__getParamList) || soap_recv___WS1__getParamList(soap, WS1__getParamListResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getParamList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getParamList *WS1__getParamList)
|
||||||
|
{ struct __WS1__getParamList soap_tmp___WS1__getParamList;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getParamList.WS1__getParamList = WS1__getParamList;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getParamList(soap, &soap_tmp___WS1__getParamList);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getParamList(soap, &soap_tmp___WS1__getParamList, "-WS1:getParamList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getParamList(soap, &soap_tmp___WS1__getParamList, "-WS1:getParamList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getParamList(struct soap *soap, _WS1__getParamListResponse &WS1__getParamListResponse)
|
||||||
|
{
|
||||||
|
WS1__getParamListResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getParamListResponse.soap_get(soap, "WS1:getParamListResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getProdList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getProdList *WS1__getProdList, _WS1__getProdListResponse &WS1__getProdListResponse)
|
||||||
|
{ if (soap_send___WS1__getProdList(soap, soap_endpoint, soap_action, WS1__getProdList) || soap_recv___WS1__getProdList(soap, WS1__getProdListResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getProdList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getProdList *WS1__getProdList)
|
||||||
|
{ struct __WS1__getProdList soap_tmp___WS1__getProdList;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getProdList.WS1__getProdList = WS1__getProdList;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getProdList(soap, &soap_tmp___WS1__getProdList);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getProdList(soap, &soap_tmp___WS1__getProdList, "-WS1:getProdList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getProdList(soap, &soap_tmp___WS1__getProdList, "-WS1:getProdList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getProdList(struct soap *soap, _WS1__getProdListResponse &WS1__getProdListResponse)
|
||||||
|
{
|
||||||
|
WS1__getProdListResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getProdListResponse.soap_get(soap, "WS1:getProdListResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__regProdAP(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regProdAP *WS1__regProdAP, _WS1__regProdAPResponse &WS1__regProdAPResponse)
|
||||||
|
{ if (soap_send___WS1__regProdAP(soap, soap_endpoint, soap_action, WS1__regProdAP) || soap_recv___WS1__regProdAP(soap, WS1__regProdAPResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__regProdAP(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regProdAP *WS1__regProdAP)
|
||||||
|
{ struct __WS1__regProdAP soap_tmp___WS1__regProdAP;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__regProdAP.WS1__regProdAP = WS1__regProdAP;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__regProdAP(soap, &soap_tmp___WS1__regProdAP);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regProdAP(soap, &soap_tmp___WS1__regProdAP, "-WS1:regProdAP", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regProdAP(soap, &soap_tmp___WS1__regProdAP, "-WS1:regProdAP", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__regProdAP(struct soap *soap, _WS1__regProdAPResponse &WS1__regProdAPResponse)
|
||||||
|
{
|
||||||
|
WS1__regProdAPResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__regProdAPResponse.soap_get(soap, "WS1:regProdAPResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__invokeUnion(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeUnion *WS1__invokeUnion, _WS1__invokeUnionResponse &WS1__invokeUnionResponse)
|
||||||
|
{ if (soap_send___WS1__invokeUnion(soap, soap_endpoint, soap_action, WS1__invokeUnion) || soap_recv___WS1__invokeUnion(soap, WS1__invokeUnionResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__invokeUnion(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeUnion *WS1__invokeUnion)
|
||||||
|
{ struct __WS1__invokeUnion soap_tmp___WS1__invokeUnion;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__invokeUnion.WS1__invokeUnion = WS1__invokeUnion;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__invokeUnion(soap, &soap_tmp___WS1__invokeUnion);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeUnion(soap, &soap_tmp___WS1__invokeUnion, "-WS1:invokeUnion", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeUnion(soap, &soap_tmp___WS1__invokeUnion, "-WS1:invokeUnion", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__invokeUnion(struct soap *soap, _WS1__invokeUnionResponse &WS1__invokeUnionResponse)
|
||||||
|
{
|
||||||
|
WS1__invokeUnionResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__invokeUnionResponse.soap_get(soap, "WS1:invokeUnionResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__invokeMdm(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeMdm *WS1__invokeMdm, _WS1__invokeMdmResponse &WS1__invokeMdmResponse)
|
||||||
|
{ if (soap_send___WS1__invokeMdm(soap, soap_endpoint, soap_action, WS1__invokeMdm) || soap_recv___WS1__invokeMdm(soap, WS1__invokeMdmResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__invokeMdm(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeMdm *WS1__invokeMdm)
|
||||||
|
{ struct __WS1__invokeMdm soap_tmp___WS1__invokeMdm;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__invokeMdm.WS1__invokeMdm = WS1__invokeMdm;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__invokeMdm(soap, &soap_tmp___WS1__invokeMdm);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeMdm(soap, &soap_tmp___WS1__invokeMdm, "-WS1:invokeMdm", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeMdm(soap, &soap_tmp___WS1__invokeMdm, "-WS1:invokeMdm", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__invokeMdm(struct soap *soap, _WS1__invokeMdmResponse &WS1__invokeMdmResponse)
|
||||||
|
{
|
||||||
|
WS1__invokeMdmResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__invokeMdmResponse.soap_get(soap, "WS1:invokeMdmResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getProd(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getProd *WS1__getProd, _WS1__getProdResponse &WS1__getProdResponse)
|
||||||
|
{ if (soap_send___WS1__getProd(soap, soap_endpoint, soap_action, WS1__getProd) || soap_recv___WS1__getProd(soap, WS1__getProdResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getProd(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getProd *WS1__getProd)
|
||||||
|
{ struct __WS1__getProd soap_tmp___WS1__getProd;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getProd.WS1__getProd = WS1__getProd;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getProd(soap, &soap_tmp___WS1__getProd);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getProd(soap, &soap_tmp___WS1__getProd, "-WS1:getProd", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getProd(soap, &soap_tmp___WS1__getProd, "-WS1:getProd", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getProd(struct soap *soap, _WS1__getProdResponse &WS1__getProdResponse)
|
||||||
|
{
|
||||||
|
WS1__getProdResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getProdResponse.soap_get(soap, "WS1:getProdResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getSrv *WS1__getSrv, _WS1__getSrvResponse &WS1__getSrvResponse)
|
||||||
|
{ if (soap_send___WS1__getSrv(soap, soap_endpoint, soap_action, WS1__getSrv) || soap_recv___WS1__getSrv(soap, WS1__getSrvResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getSrv *WS1__getSrv)
|
||||||
|
{ struct __WS1__getSrv soap_tmp___WS1__getSrv;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getSrv.WS1__getSrv = WS1__getSrv;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getSrv(soap, &soap_tmp___WS1__getSrv);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getSrv(soap, &soap_tmp___WS1__getSrv, "-WS1:getSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getSrv(soap, &soap_tmp___WS1__getSrv, "-WS1:getSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getSrv(struct soap *soap, _WS1__getSrvResponse &WS1__getSrvResponse)
|
||||||
|
{
|
||||||
|
WS1__getSrvResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getSrvResponse.soap_get(soap, "WS1:getSrvResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__fpInvoke(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__fpInvoke *WS1__fpInvoke, _WS1__fpInvokeResponse &WS1__fpInvokeResponse)
|
||||||
|
{ if (soap_send___WS1__fpInvoke(soap, soap_endpoint, soap_action, WS1__fpInvoke) || soap_recv___WS1__fpInvoke(soap, WS1__fpInvokeResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__fpInvoke(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__fpInvoke *WS1__fpInvoke)
|
||||||
|
{ struct __WS1__fpInvoke soap_tmp___WS1__fpInvoke;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__fpInvoke.WS1__fpInvoke = WS1__fpInvoke;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__fpInvoke(soap, &soap_tmp___WS1__fpInvoke);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__fpInvoke(soap, &soap_tmp___WS1__fpInvoke, "-WS1:fpInvoke", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__fpInvoke(soap, &soap_tmp___WS1__fpInvoke, "-WS1:fpInvoke", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__fpInvoke(struct soap *soap, _WS1__fpInvokeResponse &WS1__fpInvokeResponse)
|
||||||
|
{
|
||||||
|
WS1__fpInvokeResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__fpInvokeResponse.soap_get(soap, "WS1:fpInvokeResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getStandardServiceList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getStandardServiceList *WS1__getStandardServiceList, _WS1__getStandardServiceListResponse &WS1__getStandardServiceListResponse)
|
||||||
|
{ if (soap_send___WS1__getStandardServiceList(soap, soap_endpoint, soap_action, WS1__getStandardServiceList) || soap_recv___WS1__getStandardServiceList(soap, WS1__getStandardServiceListResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getStandardServiceList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getStandardServiceList *WS1__getStandardServiceList)
|
||||||
|
{ struct __WS1__getStandardServiceList soap_tmp___WS1__getStandardServiceList;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getStandardServiceList.WS1__getStandardServiceList = WS1__getStandardServiceList;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getStandardServiceList(soap, &soap_tmp___WS1__getStandardServiceList);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getStandardServiceList(soap, &soap_tmp___WS1__getStandardServiceList, "-WS1:getStandardServiceList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getStandardServiceList(soap, &soap_tmp___WS1__getStandardServiceList, "-WS1:getStandardServiceList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getStandardServiceList(struct soap *soap, _WS1__getStandardServiceListResponse &WS1__getStandardServiceListResponse)
|
||||||
|
{
|
||||||
|
WS1__getStandardServiceListResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getStandardServiceListResponse.soap_get(soap, "WS1:getStandardServiceListResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__getStandardDataNameList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getStandardDataNameList *WS1__getStandardDataNameList, _WS1__getStandardDataNameListResponse &WS1__getStandardDataNameListResponse)
|
||||||
|
{ if (soap_send___WS1__getStandardDataNameList(soap, soap_endpoint, soap_action, WS1__getStandardDataNameList) || soap_recv___WS1__getStandardDataNameList(soap, WS1__getStandardDataNameListResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__getStandardDataNameList(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__getStandardDataNameList *WS1__getStandardDataNameList)
|
||||||
|
{ struct __WS1__getStandardDataNameList soap_tmp___WS1__getStandardDataNameList;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__getStandardDataNameList.WS1__getStandardDataNameList = WS1__getStandardDataNameList;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__getStandardDataNameList(soap, &soap_tmp___WS1__getStandardDataNameList);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getStandardDataNameList(soap, &soap_tmp___WS1__getStandardDataNameList, "-WS1:getStandardDataNameList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__getStandardDataNameList(soap, &soap_tmp___WS1__getStandardDataNameList, "-WS1:getStandardDataNameList", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__getStandardDataNameList(struct soap *soap, _WS1__getStandardDataNameListResponse &WS1__getStandardDataNameListResponse)
|
||||||
|
{
|
||||||
|
WS1__getStandardDataNameListResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__getStandardDataNameListResponse.soap_get(soap, "WS1:getStandardDataNameListResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__regSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regSrv *WS1__regSrv, _WS1__regSrvResponse &WS1__regSrvResponse)
|
||||||
|
{ if (soap_send___WS1__regSrv(soap, soap_endpoint, soap_action, WS1__regSrv) || soap_recv___WS1__regSrv(soap, WS1__regSrvResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__regSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regSrv *WS1__regSrv)
|
||||||
|
{ struct __WS1__regSrv soap_tmp___WS1__regSrv;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__regSrv.WS1__regSrv = WS1__regSrv;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__regSrv(soap, &soap_tmp___WS1__regSrv);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regSrv(soap, &soap_tmp___WS1__regSrv, "-WS1:regSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regSrv(soap, &soap_tmp___WS1__regSrv, "-WS1:regSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__regSrv(struct soap *soap, _WS1__regSrvResponse &WS1__regSrvResponse)
|
||||||
|
{
|
||||||
|
WS1__regSrvResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__regSrvResponse.soap_get(soap, "WS1:regSrvResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__regEAI(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regEAI *WS1__regEAI, _WS1__regEAIResponse &WS1__regEAIResponse)
|
||||||
|
{ if (soap_send___WS1__regEAI(soap, soap_endpoint, soap_action, WS1__regEAI) || soap_recv___WS1__regEAI(soap, WS1__regEAIResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__regEAI(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__regEAI *WS1__regEAI)
|
||||||
|
{ struct __WS1__regEAI soap_tmp___WS1__regEAI;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__regEAI.WS1__regEAI = WS1__regEAI;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__regEAI(soap, &soap_tmp___WS1__regEAI);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regEAI(soap, &soap_tmp___WS1__regEAI, "-WS1:regEAI", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__regEAI(soap, &soap_tmp___WS1__regEAI, "-WS1:regEAI", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__regEAI(struct soap *soap, _WS1__regEAIResponse &WS1__regEAIResponse)
|
||||||
|
{
|
||||||
|
WS1__regEAIResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__regEAIResponse.soap_get(soap, "WS1:regEAIResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__invokeSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeSrv *WS1__invokeSrv, _WS1__invokeSrvResponse &WS1__invokeSrvResponse)
|
||||||
|
{ if (soap_send___WS1__invokeSrv(soap, soap_endpoint, soap_action, WS1__invokeSrv) || soap_recv___WS1__invokeSrv(soap, WS1__invokeSrvResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__invokeSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__invokeSrv *WS1__invokeSrv)
|
||||||
|
{ struct __WS1__invokeSrv soap_tmp___WS1__invokeSrv;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__invokeSrv.WS1__invokeSrv = WS1__invokeSrv;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__invokeSrv(soap, &soap_tmp___WS1__invokeSrv);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeSrv(soap, &soap_tmp___WS1__invokeSrv, "-WS1:invokeSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__invokeSrv(soap, &soap_tmp___WS1__invokeSrv, "-WS1:invokeSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__invokeSrv(struct soap *soap, _WS1__invokeSrvResponse &WS1__invokeSrvResponse)
|
||||||
|
{
|
||||||
|
WS1__invokeSrvResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__invokeSrvResponse.soap_get(soap, "WS1:invokeSrvResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_call___WS1__escrowResendSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__escrowResendSrv *WS1__escrowResendSrv, _WS1__escrowResendSrvResponse &WS1__escrowResendSrvResponse)
|
||||||
|
{ if (soap_send___WS1__escrowResendSrv(soap, soap_endpoint, soap_action, WS1__escrowResendSrv) || soap_recv___WS1__escrowResendSrv(soap, WS1__escrowResendSrvResponse))
|
||||||
|
return soap->error;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_send___WS1__escrowResendSrv(struct soap *soap, const char *soap_endpoint, const char *soap_action, _WS1__escrowResendSrv *WS1__escrowResendSrv)
|
||||||
|
{ struct __WS1__escrowResendSrv soap_tmp___WS1__escrowResendSrv;
|
||||||
|
if (soap_endpoint == NULL)
|
||||||
|
soap_endpoint = "http://192.168.8.115:9999/IntegrationEntry";
|
||||||
|
if (soap_action == NULL)
|
||||||
|
soap_action = "";
|
||||||
|
soap_tmp___WS1__escrowResendSrv.WS1__escrowResendSrv = WS1__escrowResendSrv;
|
||||||
|
soap_begin(soap);
|
||||||
|
soap->encodingStyle = NULL; /* use SOAP literal style */
|
||||||
|
soap_serializeheader(soap);
|
||||||
|
soap_serialize___WS1__escrowResendSrv(soap, &soap_tmp___WS1__escrowResendSrv);
|
||||||
|
if (soap_begin_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if ((soap->mode & SOAP_IO_LENGTH))
|
||||||
|
{ if (soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__escrowResendSrv(soap, &soap_tmp___WS1__escrowResendSrv, "-WS1:escrowResendSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap))
|
||||||
|
return soap->error;
|
||||||
|
}
|
||||||
|
if (soap_end_count(soap))
|
||||||
|
return soap->error;
|
||||||
|
if (soap_connect(soap, soap_endpoint, soap_action)
|
||||||
|
|| soap_envelope_begin_out(soap)
|
||||||
|
|| soap_putheader(soap)
|
||||||
|
|| soap_body_begin_out(soap)
|
||||||
|
|| soap_put___WS1__escrowResendSrv(soap, &soap_tmp___WS1__escrowResendSrv, "-WS1:escrowResendSrv", "")
|
||||||
|
|| soap_body_end_out(soap)
|
||||||
|
|| soap_envelope_end_out(soap)
|
||||||
|
|| soap_end_send(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
SOAP_FMAC5 int SOAP_FMAC6 soap_recv___WS1__escrowResendSrv(struct soap *soap, _WS1__escrowResendSrvResponse &WS1__escrowResendSrvResponse)
|
||||||
|
{
|
||||||
|
WS1__escrowResendSrvResponse.soap_default(soap);
|
||||||
|
if (soap_begin_recv(soap)
|
||||||
|
|| soap_envelope_begin_in(soap)
|
||||||
|
|| soap_recv_header(soap)
|
||||||
|
|| soap_body_begin_in(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
WS1__escrowResendSrvResponse.soap_get(soap, "WS1:escrowResendSrvResponse", NULL);
|
||||||
|
if (soap->error)
|
||||||
|
return soap_recv_fault(soap, 0);
|
||||||
|
if (soap_body_end_in(soap)
|
||||||
|
|| soap_envelope_end_in(soap)
|
||||||
|
|| soap_end_recv(soap))
|
||||||
|
return soap_closesock(soap);
|
||||||
|
return soap_closesock(soap);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(__BORLANDC__)
|
||||||
|
#pragma option pop
|
||||||
|
#pragma option pop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* End of crossClient.cpp */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,93 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <tc\tc_macros.h>
|
||||||
|
#include <tc\emh.h>
|
||||||
|
#include <tc\preferences.h>
|
||||||
|
#include <property\propdesc.h>
|
||||||
|
#include <epm\epm.h>
|
||||||
|
#include <epm\epm_toolkit_tc_utils.h>
|
||||||
|
#include <tccore\item.h>
|
||||||
|
#include <tccore\grmtype.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
#include <tccore\grm.h>
|
||||||
|
//#include <tccore\imantype.h>
|
||||||
|
#include <sa\am.h>
|
||||||
|
#include <sa\sa.h>
|
||||||
|
#include <tccore\aom.h>
|
||||||
|
#include <tccore\aom_prop.h>
|
||||||
|
#include <property\prop_errors.h>
|
||||||
|
#include <tccore\workspaceobject.h>
|
||||||
|
#include <qry\qry.h>
|
||||||
|
#include <bom\bom_attr.h>
|
||||||
|
#include <bom\bom.h>
|
||||||
|
#include <epm\signoff.h>
|
||||||
|
#include <pom\pom\pom.h>
|
||||||
|
#include <pom\pom\pom_errors.h>
|
||||||
|
#include <fclasses\tc_date.h>
|
||||||
|
#include <epm\cr.h>
|
||||||
|
#include <cfm\cfm.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <ae/ae.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <iostream>
|
||||||
|
#include <iterator>
|
||||||
|
#include <map>
|
||||||
|
#include <vector>
|
||||||
|
#include <sstream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <res\reservation.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#include <io.h>
|
||||||
|
#include <direct.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DOFREE(obj) \
|
||||||
|
{ \
|
||||||
|
if(obj) \
|
||||||
|
{ \
|
||||||
|
MEM_free(obj); \
|
||||||
|
obj = NULL; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" int POM_AM__set_application_bypass(logical bypass);
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
char* getTime();
|
||||||
|
int getCurrentMilliSeconds();
|
||||||
|
string trim(const string& str);
|
||||||
|
void WriteLog(logical debug, const char* format, ...);
|
||||||
|
void set_bypass(logical bypass);
|
||||||
|
char* G2U(const char* gb2312);
|
||||||
|
char* U2G(const char* utf8);
|
||||||
|
int getPrefStrings(const char* preference, TC_preference_search_scope_t scope, vector<string>& pref_vec);
|
||||||
|
int export_dataset_file(bool debug, tag_t dataset, const char* ref_name, const char* ext, char** filename, char** original_name);
|
||||||
|
int GetBomView(tag_t rev_tag, const char* viewtype, tag_t* bomView, tag_t* bomBVR, bool debug);
|
||||||
|
int GetBomLinePropString(bool debug, tag_t line, char* propName, int errCode, char** attr_val);
|
||||||
|
void Split(string strArg, char spliter, vector<string>& ans);
|
||||||
|
void Split(string strArg, string spliter, vector<string>& ans);
|
||||||
|
int getPrefStrings2(const char* preference, TC_preference_search_scope_t scope, char splitter, vector<string>& pref_vec);
|
||||||
|
int import_dataset_file(tag_t dataset, const char* ref_name, char* ext, char* fullfilename, char* original_name);
|
||||||
|
int import_dataset_file_binary(tag_t dataset, const char* ref_name, char* ext, char* fullfilename, char* original_name);
|
||||||
|
int readError(bool debug, char* errFilePath, int errCode);
|
||||||
|
void deleteFile(bool debug, char* path);
|
||||||
|
bool CheckType(string config, char* type, char spliter);
|
||||||
|
bool propExist(bool debug, tag_t obj, const char* propName);
|
||||||
|
bool isRev(char* object_type);
|
||||||
|
int GetProcessTargets(bool debug, int att_cnt, tag_t* attachments, vector<tag_t>& targets, char* formType, char splitter);
|
||||||
|
bool inArray(vector<string> types, string type);
|
||||||
|
int getIndexInArray(vector<string> types, string type);
|
||||||
|
int findUser(bool debug, string userStr, tag_t* user_tag);
|
||||||
|
bool isType(tag_t item, char* type);
|
||||||
|
void initUserDir(char* userId);
|
||||||
|
int CreateUserFile(logical debug, const char* FunctionName, char* userId, char** fullname, FILE** file);
|
||||||
|
int WriteToFile(FILE* file, const char* text);
|
@ -0,0 +1,273 @@
|
|||||||
|
/**
|
||||||
|
* @file md5.cpp
|
||||||
|
* @The implement of md5.
|
||||||
|
* @author Jiewei Wei
|
||||||
|
* @mail weijieweijerry@163.com
|
||||||
|
* @github https://github.com/JieweiWei
|
||||||
|
* @data Oct 19 2014
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "md5.h"
|
||||||
|
|
||||||
|
/* Define the static member of MD5. */
|
||||||
|
const byte MD5::PADDING[64] = { 0x80 };
|
||||||
|
const char MD5::HEX_NUMBERS[16] = {
|
||||||
|
'0', '1', '2', '3',
|
||||||
|
'4', '5', '6', '7',
|
||||||
|
'8', '9', 'a', 'b',
|
||||||
|
'c', 'd', 'e', 'f'
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Construct a MD5 object with a string.
|
||||||
|
*
|
||||||
|
* @param {message} the message will be transformed.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
MD5::MD5(const string& message) {
|
||||||
|
finished = false;
|
||||||
|
/* Reset number of bits. */
|
||||||
|
count[0] = count[1] = 0;
|
||||||
|
/* Initialization constants. */
|
||||||
|
state[0] = 0x67452301;
|
||||||
|
state[1] = 0xefcdab89;
|
||||||
|
state[2] = 0x98badcfe;
|
||||||
|
state[3] = 0x10325476;
|
||||||
|
|
||||||
|
/* Initialization the object according to message. */
|
||||||
|
init((const byte*)message.c_str(), message.length());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Generate md5 digest.
|
||||||
|
*
|
||||||
|
* @return the message-digest.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
const byte* MD5::getDigest() {
|
||||||
|
if (!finished) {
|
||||||
|
finished = true;
|
||||||
|
|
||||||
|
byte bits[8];
|
||||||
|
bit32 oldState[4];
|
||||||
|
bit32 oldCount[2];
|
||||||
|
bit32 index, padLen;
|
||||||
|
|
||||||
|
/* Save current state and count. */
|
||||||
|
memcpy(oldState, state, 16);
|
||||||
|
memcpy(oldCount, count, 8);
|
||||||
|
|
||||||
|
/* Save number of bits */
|
||||||
|
encode(count, bits, 8);
|
||||||
|
|
||||||
|
/* Pad out to 56 mod 64. */
|
||||||
|
index = (bit32)((count[0] >> 3) & 0x3f);
|
||||||
|
padLen = (index < 56) ? (56 - index) : (120 - index);
|
||||||
|
init(PADDING, padLen);
|
||||||
|
|
||||||
|
/* Append length (before padding) */
|
||||||
|
init(bits, 8);
|
||||||
|
|
||||||
|
/* Store state in digest */
|
||||||
|
encode(state, digest, 16);
|
||||||
|
|
||||||
|
/* Restore current state and count. */
|
||||||
|
memcpy(state, oldState, 16);
|
||||||
|
memcpy(count, oldCount, 8);
|
||||||
|
}
|
||||||
|
return digest;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Initialization the md5 object, processing another message block,
|
||||||
|
* and updating the context.
|
||||||
|
*
|
||||||
|
* @param {input} the input message.
|
||||||
|
*
|
||||||
|
* @param {len} the number btye of message.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void MD5::init(const byte* input, size_t len) {
|
||||||
|
|
||||||
|
bit32 i, index, partLen;
|
||||||
|
|
||||||
|
finished = false;
|
||||||
|
|
||||||
|
/* Compute number of bytes mod 64 */
|
||||||
|
index = (bit32)((count[0] >> 3) & 0x3f);
|
||||||
|
|
||||||
|
/* update number of bits */
|
||||||
|
if ((count[0] += ((bit32)len << 3)) < ((bit32)len << 3)) {
|
||||||
|
++count[1];
|
||||||
|
}
|
||||||
|
count[1] += ((bit32)len >> 29);
|
||||||
|
|
||||||
|
partLen = 64 - index;
|
||||||
|
|
||||||
|
/* transform as many times as possible. */
|
||||||
|
if (len >= partLen) {
|
||||||
|
|
||||||
|
memcpy(&buffer[index], input, partLen);
|
||||||
|
transform(buffer);
|
||||||
|
|
||||||
|
for (i = partLen; i + 63 < len; i += 64) {
|
||||||
|
transform(&input[i]);
|
||||||
|
}
|
||||||
|
index = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Buffer remaining input */
|
||||||
|
memcpy(&buffer[index], &input[i], len - i);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @MD5 basic transformation. Transforms state based on block.
|
||||||
|
*
|
||||||
|
* @param {block} the message block.
|
||||||
|
*/
|
||||||
|
void MD5::transform(const byte block[64]) {
|
||||||
|
|
||||||
|
bit32 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
|
||||||
|
|
||||||
|
decode(block, x, 64);
|
||||||
|
|
||||||
|
/* Round 1 */
|
||||||
|
FF(a, b, c, d, x[0], s11, 0xd76aa478);
|
||||||
|
FF(d, a, b, c, x[1], s12, 0xe8c7b756);
|
||||||
|
FF(c, d, a, b, x[2], s13, 0x242070db);
|
||||||
|
FF(b, c, d, a, x[3], s14, 0xc1bdceee);
|
||||||
|
FF(a, b, c, d, x[4], s11, 0xf57c0faf);
|
||||||
|
FF(d, a, b, c, x[5], s12, 0x4787c62a);
|
||||||
|
FF(c, d, a, b, x[6], s13, 0xa8304613);
|
||||||
|
FF(b, c, d, a, x[7], s14, 0xfd469501);
|
||||||
|
FF(a, b, c, d, x[8], s11, 0x698098d8);
|
||||||
|
FF(d, a, b, c, x[9], s12, 0x8b44f7af);
|
||||||
|
FF(c, d, a, b, x[10], s13, 0xffff5bb1);
|
||||||
|
FF(b, c, d, a, x[11], s14, 0x895cd7be);
|
||||||
|
FF(a, b, c, d, x[12], s11, 0x6b901122);
|
||||||
|
FF(d, a, b, c, x[13], s12, 0xfd987193);
|
||||||
|
FF(c, d, a, b, x[14], s13, 0xa679438e);
|
||||||
|
FF(b, c, d, a, x[15], s14, 0x49b40821);
|
||||||
|
|
||||||
|
/* Round 2 */
|
||||||
|
GG(a, b, c, d, x[1], s21, 0xf61e2562);
|
||||||
|
GG(d, a, b, c, x[6], s22, 0xc040b340);
|
||||||
|
GG(c, d, a, b, x[11], s23, 0x265e5a51);
|
||||||
|
GG(b, c, d, a, x[0], s24, 0xe9b6c7aa);
|
||||||
|
GG(a, b, c, d, x[5], s21, 0xd62f105d);
|
||||||
|
GG(d, a, b, c, x[10], s22, 0x2441453);
|
||||||
|
GG(c, d, a, b, x[15], s23, 0xd8a1e681);
|
||||||
|
GG(b, c, d, a, x[4], s24, 0xe7d3fbc8);
|
||||||
|
GG(a, b, c, d, x[9], s21, 0x21e1cde6);
|
||||||
|
GG(d, a, b, c, x[14], s22, 0xc33707d6);
|
||||||
|
GG(c, d, a, b, x[3], s23, 0xf4d50d87);
|
||||||
|
GG(b, c, d, a, x[8], s24, 0x455a14ed);
|
||||||
|
GG(a, b, c, d, x[13], s21, 0xa9e3e905);
|
||||||
|
GG(d, a, b, c, x[2], s22, 0xfcefa3f8);
|
||||||
|
GG(c, d, a, b, x[7], s23, 0x676f02d9);
|
||||||
|
GG(b, c, d, a, x[12], s24, 0x8d2a4c8a);
|
||||||
|
|
||||||
|
/* Round 3 */
|
||||||
|
HH(a, b, c, d, x[5], s31, 0xfffa3942);
|
||||||
|
HH(d, a, b, c, x[8], s32, 0x8771f681);
|
||||||
|
HH(c, d, a, b, x[11], s33, 0x6d9d6122);
|
||||||
|
HH(b, c, d, a, x[14], s34, 0xfde5380c);
|
||||||
|
HH(a, b, c, d, x[1], s31, 0xa4beea44);
|
||||||
|
HH(d, a, b, c, x[4], s32, 0x4bdecfa9);
|
||||||
|
HH(c, d, a, b, x[7], s33, 0xf6bb4b60);
|
||||||
|
HH(b, c, d, a, x[10], s34, 0xbebfbc70);
|
||||||
|
HH(a, b, c, d, x[13], s31, 0x289b7ec6);
|
||||||
|
HH(d, a, b, c, x[0], s32, 0xeaa127fa);
|
||||||
|
HH(c, d, a, b, x[3], s33, 0xd4ef3085);
|
||||||
|
HH(b, c, d, a, x[6], s34, 0x4881d05);
|
||||||
|
HH(a, b, c, d, x[9], s31, 0xd9d4d039);
|
||||||
|
HH(d, a, b, c, x[12], s32, 0xe6db99e5);
|
||||||
|
HH(c, d, a, b, x[15], s33, 0x1fa27cf8);
|
||||||
|
HH(b, c, d, a, x[2], s34, 0xc4ac5665);
|
||||||
|
|
||||||
|
/* Round 4 */
|
||||||
|
II(a, b, c, d, x[0], s41, 0xf4292244);
|
||||||
|
II(d, a, b, c, x[7], s42, 0x432aff97);
|
||||||
|
II(c, d, a, b, x[14], s43, 0xab9423a7);
|
||||||
|
II(b, c, d, a, x[5], s44, 0xfc93a039);
|
||||||
|
II(a, b, c, d, x[12], s41, 0x655b59c3);
|
||||||
|
II(d, a, b, c, x[3], s42, 0x8f0ccc92);
|
||||||
|
II(c, d, a, b, x[10], s43, 0xffeff47d);
|
||||||
|
II(b, c, d, a, x[1], s44, 0x85845dd1);
|
||||||
|
II(a, b, c, d, x[8], s41, 0x6fa87e4f);
|
||||||
|
II(d, a, b, c, x[15], s42, 0xfe2ce6e0);
|
||||||
|
II(c, d, a, b, x[6], s43, 0xa3014314);
|
||||||
|
II(b, c, d, a, x[13], s44, 0x4e0811a1);
|
||||||
|
II(a, b, c, d, x[4], s41, 0xf7537e82);
|
||||||
|
II(d, a, b, c, x[11], s42, 0xbd3af235);
|
||||||
|
II(c, d, a, b, x[2], s43, 0x2ad7d2bb);
|
||||||
|
II(b, c, d, a, x[9], s44, 0xeb86d391);
|
||||||
|
|
||||||
|
state[0] += a;
|
||||||
|
state[1] += b;
|
||||||
|
state[2] += c;
|
||||||
|
state[3] += d;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Encodes input (unsigned long) into output (byte).
|
||||||
|
*
|
||||||
|
* @param {input} usigned long.
|
||||||
|
*
|
||||||
|
* @param {output} byte.
|
||||||
|
*
|
||||||
|
* @param {length} the length of input.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void MD5::encode(const bit32* input, byte* output, size_t length) {
|
||||||
|
|
||||||
|
for (size_t i = 0, j = 0; j < length; ++i, j += 4) {
|
||||||
|
output[j] = (byte)(input[i] & 0xff);
|
||||||
|
output[j + 1] = (byte)((input[i] >> 8) & 0xff);
|
||||||
|
output[j + 2] = (byte)((input[i] >> 16) & 0xff);
|
||||||
|
output[j + 3] = (byte)((input[i] >> 24) & 0xff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Decodes input (byte) into output (usigned long).
|
||||||
|
*
|
||||||
|
* @param {input} bytes.
|
||||||
|
*
|
||||||
|
* @param {output} unsigned long.
|
||||||
|
*
|
||||||
|
* @param {length} the length of input.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void MD5::decode(const byte* input, bit32* output, size_t length) {
|
||||||
|
for (size_t i = 0, j = 0; j < length; ++i, j += 4) {
|
||||||
|
output[i] = ((bit32)input[j]) | (((bit32)input[j + 1]) << 8) |
|
||||||
|
(((bit32)input[j + 2]) << 16) | (((bit32)input[j + 3]) << 24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Convert digest to string value.
|
||||||
|
*
|
||||||
|
* @return the hex string of digest.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
string MD5::toStr() {
|
||||||
|
const byte* digest_ = getDigest();
|
||||||
|
string str;
|
||||||
|
str.reserve(16 << 1);
|
||||||
|
for (size_t i = 0; i < 16; ++i) {
|
||||||
|
int t = digest_[i];
|
||||||
|
int a = t / 16;
|
||||||
|
int b = t % 16;
|
||||||
|
str.append(1, HEX_NUMBERS[a]);
|
||||||
|
str.append(1, HEX_NUMBERS[b]);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
@ -0,0 +1,137 @@
|
|||||||
|
/**
|
||||||
|
* @file md5.h
|
||||||
|
* @The header file of md5.
|
||||||
|
* @author Jiewei Wei
|
||||||
|
* @mail weijieweijerry@163.com
|
||||||
|
* @github https://github.com/JieweiWei
|
||||||
|
* @data Oct 19 2014
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MD5_H
|
||||||
|
#define MD5_H
|
||||||
|
|
||||||
|
/* Parameters of MD5. */
|
||||||
|
#define s11 7
|
||||||
|
#define s12 12
|
||||||
|
#define s13 17
|
||||||
|
#define s14 22
|
||||||
|
#define s21 5
|
||||||
|
#define s22 9
|
||||||
|
#define s23 14
|
||||||
|
#define s24 20
|
||||||
|
#define s31 4
|
||||||
|
#define s32 11
|
||||||
|
#define s33 16
|
||||||
|
#define s34 23
|
||||||
|
#define s41 6
|
||||||
|
#define s42 10
|
||||||
|
#define s43 15
|
||||||
|
#define s44 21
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Basic MD5 functions.
|
||||||
|
*
|
||||||
|
* @param there bit32.
|
||||||
|
*
|
||||||
|
* @return one bit32.
|
||||||
|
*/
|
||||||
|
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
|
||||||
|
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
|
||||||
|
#define H(x, y, z) ((x) ^ (y) ^ (z))
|
||||||
|
#define I(x, y, z) ((y) ^ ((x) | (~z)))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Rotate Left.
|
||||||
|
*
|
||||||
|
* @param {num} the raw number.
|
||||||
|
*
|
||||||
|
* @param {n} rotate left n.
|
||||||
|
*
|
||||||
|
* @return the number after rotated left.
|
||||||
|
*/
|
||||||
|
#define ROTATELEFT(num, n) (((num) << (n)) | ((num) >> (32-(n))))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Transformations for rounds 1, 2, 3, and 4.
|
||||||
|
*/
|
||||||
|
#define FF(a, b, c, d, x, s, ac) { \
|
||||||
|
(a) += F ((b), (c), (d)) + (x) + ac; \
|
||||||
|
(a) = ROTATELEFT ((a), (s)); \
|
||||||
|
(a) += (b); \
|
||||||
|
}
|
||||||
|
#define GG(a, b, c, d, x, s, ac) { \
|
||||||
|
(a) += G ((b), (c), (d)) + (x) + ac; \
|
||||||
|
(a) = ROTATELEFT ((a), (s)); \
|
||||||
|
(a) += (b); \
|
||||||
|
}
|
||||||
|
#define HH(a, b, c, d, x, s, ac) { \
|
||||||
|
(a) += H ((b), (c), (d)) + (x) + ac; \
|
||||||
|
(a) = ROTATELEFT ((a), (s)); \
|
||||||
|
(a) += (b); \
|
||||||
|
}
|
||||||
|
#define II(a, b, c, d, x, s, ac) { \
|
||||||
|
(a) += I ((b), (c), (d)) + (x) + ac; \
|
||||||
|
(a) = ROTATELEFT ((a), (s)); \
|
||||||
|
(a) += (b); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
/* Define of btye.*/
|
||||||
|
typedef unsigned char byte;
|
||||||
|
/* Define of byte. */
|
||||||
|
typedef unsigned int bit32;
|
||||||
|
|
||||||
|
class MD5 {
|
||||||
|
public:
|
||||||
|
/* Construct a MD5 object with a string. */
|
||||||
|
MD5(const string& message);
|
||||||
|
|
||||||
|
/* Generate md5 digest. */
|
||||||
|
const byte* getDigest();
|
||||||
|
|
||||||
|
/* Convert digest to string value */
|
||||||
|
string toStr();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* Initialization the md5 object, processing another message block,
|
||||||
|
* and updating the context.*/
|
||||||
|
void init(const byte* input, size_t len);
|
||||||
|
|
||||||
|
/* MD5 basic transformation. Transforms state based on block. */
|
||||||
|
void transform(const byte block[64]);
|
||||||
|
|
||||||
|
/* Encodes input (usigned long) into output (byte). */
|
||||||
|
void encode(const bit32* input, byte* output, size_t length);
|
||||||
|
|
||||||
|
/* Decodes input (byte) into output (usigned long). */
|
||||||
|
void decode(const byte* input, bit32* output, size_t length);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/* Flag for mark whether calculate finished. */
|
||||||
|
bool finished;
|
||||||
|
|
||||||
|
/* state (ABCD). */
|
||||||
|
bit32 state[4];
|
||||||
|
|
||||||
|
/* number of bits, low-order word first. */
|
||||||
|
bit32 count[2];
|
||||||
|
|
||||||
|
/* input buffer. */
|
||||||
|
byte buffer[64];
|
||||||
|
|
||||||
|
/* message digest. */
|
||||||
|
byte digest[16];
|
||||||
|
|
||||||
|
/* padding for calculate. */
|
||||||
|
static const byte PADDING[64];
|
||||||
|
|
||||||
|
/* Hex numbers. */
|
||||||
|
static const char HEX_NUMBERS[16];
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MD5_H
|
@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
plugin.c
|
||||||
|
|
||||||
|
Example gSOAP plug-in
|
||||||
|
|
||||||
|
Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
|
||||||
|
|
||||||
|
Compile & link with gSOAP clients and services to view SOAP messages.
|
||||||
|
|
||||||
|
Usage (client/server code):
|
||||||
|
struct soap soap;
|
||||||
|
soap_init(&soap);
|
||||||
|
soap_register_plugin(&soap, plugin); // register plugin
|
||||||
|
...
|
||||||
|
... = soap_copy(&soap); // copies plugin too
|
||||||
|
...
|
||||||
|
soap_done(&soap); // detach plugin
|
||||||
|
|
||||||
|
A plugin is copied with the soap_copy() call. Upon this call, two
|
||||||
|
situations may arise depending on setting the fcopy() callback and
|
||||||
|
the need to share or not share plugin data:
|
||||||
|
|
||||||
|
1. if the plugin fcopy() callback is set, it will be called to allow
|
||||||
|
the plugin to copy its local data. When soap_done() is called on
|
||||||
|
the copy, the fdelete() callback is called for cleanup.
|
||||||
|
|
||||||
|
2. if the plugin fcopy() callback is not set, then the plugin data
|
||||||
|
will be shared (i.e. the data pointer points to the same address).
|
||||||
|
The fdelete() callback will not be called upon a soap_done() on a
|
||||||
|
copy of the soap struct. The fdelete() callback will be called for
|
||||||
|
the original soap struct with which the plugin registered.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "plugin.h"
|
||||||
|
|
||||||
|
static const char plugin_id[] = PLUGIN_ID;
|
||||||
|
|
||||||
|
static int plugin_init(struct soap *soap, struct plugin_data *data);
|
||||||
|
static int plugin_copy(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src);
|
||||||
|
static void plugin_delete(struct soap *soap, struct soap_plugin *p);
|
||||||
|
static int plugin_send(struct soap *soap, const char *buf, size_t len);
|
||||||
|
static size_t plugin_recv(struct soap *soap, char *buf, size_t len);
|
||||||
|
|
||||||
|
int plugin(struct soap *soap, struct soap_plugin *p, void *arg)
|
||||||
|
{
|
||||||
|
p->id = plugin_id;
|
||||||
|
p->data = (void*)malloc(sizeof(struct plugin_data));
|
||||||
|
/* optional: define fcopy() operation. When defined, fdelete() will be called for every copy of the plugin created with fcopy(), when NOT defined, fdelete() will only be called on the original non-copied plugin */
|
||||||
|
p->fcopy = plugin_copy;
|
||||||
|
p->fdelete = plugin_delete;
|
||||||
|
if (!p->data)
|
||||||
|
return SOAP_EOM;
|
||||||
|
if (plugin_init(soap, (struct plugin_data*)p->data))
|
||||||
|
{
|
||||||
|
free(p->data); /* error: could not init */
|
||||||
|
return SOAP_EOM; /* return error */
|
||||||
|
}
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int plugin_init(struct soap *soap, struct plugin_data *data)
|
||||||
|
{
|
||||||
|
data->fsend = soap->fsend; /* save old recv callback */
|
||||||
|
data->frecv = soap->frecv; /* save old send callback */
|
||||||
|
soap->fsend = plugin_send; /* replace send callback with ours */
|
||||||
|
soap->frecv = plugin_recv; /* replace recv callback with ours */
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int plugin_copy(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src)
|
||||||
|
{
|
||||||
|
if (!(dst->data = (struct plugin_data*)malloc(sizeof(struct plugin_data))))
|
||||||
|
return SOAP_EOM;
|
||||||
|
(*dst).data = (*src).data;
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void plugin_delete(struct soap *soap, struct soap_plugin *p)
|
||||||
|
{
|
||||||
|
free(p->data); /* free allocated plugin data. If fcopy() is not set, then this function is not called for all copies of the plugin created with soap_copy(). In this example, the fcopy() callback can be safely omitted. When omitted, the plugin data is shared by the soap copies created with soap_copy() */
|
||||||
|
}
|
||||||
|
|
||||||
|
static int plugin_send(struct soap *soap, const char *buf, size_t len)
|
||||||
|
{
|
||||||
|
struct plugin_data *data = (struct plugin_data*)soap_lookup_plugin(soap, plugin_id);
|
||||||
|
fwrite(buf, len, 1, stderr);
|
||||||
|
return data->fsend(soap, buf, len); /* pass data on to old send callback */
|
||||||
|
}
|
||||||
|
|
||||||
|
static size_t plugin_recv(struct soap *soap, char *buf, size_t len)
|
||||||
|
{
|
||||||
|
struct plugin_data *data = (struct plugin_data*)soap_lookup_plugin(soap, plugin_id);
|
||||||
|
size_t res = data->frecv(soap, buf, len); /* get data from old recv callback */
|
||||||
|
fwrite(buf, res, 1, stderr);
|
||||||
|
return res;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
plugin.h
|
||||||
|
|
||||||
|
Example gSOAP plug-in. Include this file and link with plugin.c
|
||||||
|
|
||||||
|
Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "stdsoap2.h"
|
||||||
|
|
||||||
|
#define PLUGIN_ID "SOAP-PLUGIN/1.0" /* plugin identification */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct plugin_data {
|
||||||
|
int (*fsend)(struct soap*, const char*, size_t); /* example: to save and use send callback */
|
||||||
|
size_t (*frecv)(struct soap*, char*, size_t); /* example: to save and use recv callback */
|
||||||
|
};
|
||||||
|
|
||||||
|
int plugin(struct soap *soap, struct soap_plugin *plugin, void *arg);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,111 @@
|
|||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef TIXML_USE_STL
|
||||||
|
|
||||||
|
#include "tinystr.h"
|
||||||
|
|
||||||
|
// Error value for find primitive
|
||||||
|
const TiXmlString::size_type TiXmlString::npos = static_cast< TiXmlString::size_type >(-1);
|
||||||
|
|
||||||
|
|
||||||
|
// Null rep.
|
||||||
|
TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } };
|
||||||
|
|
||||||
|
|
||||||
|
void TiXmlString::reserve (size_type cap)
|
||||||
|
{
|
||||||
|
if (cap > capacity())
|
||||||
|
{
|
||||||
|
TiXmlString tmp;
|
||||||
|
tmp.init(length(), cap);
|
||||||
|
memcpy(tmp.start(), data(), length());
|
||||||
|
swap(tmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TiXmlString& TiXmlString::assign(const char* str, size_type len)
|
||||||
|
{
|
||||||
|
size_type cap = capacity();
|
||||||
|
if (len > cap || cap > 3*(len + 8))
|
||||||
|
{
|
||||||
|
TiXmlString tmp;
|
||||||
|
tmp.init(len);
|
||||||
|
memcpy(tmp.start(), str, len);
|
||||||
|
swap(tmp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memmove(start(), str, len);
|
||||||
|
set_size(len);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TiXmlString& TiXmlString::append(const char* str, size_type len)
|
||||||
|
{
|
||||||
|
size_type newsize = length() + len;
|
||||||
|
if (newsize > capacity())
|
||||||
|
{
|
||||||
|
reserve (newsize + capacity());
|
||||||
|
}
|
||||||
|
memmove(finish(), str, len);
|
||||||
|
set_size(newsize);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TiXmlString operator + (const TiXmlString & a, const TiXmlString & b)
|
||||||
|
{
|
||||||
|
TiXmlString tmp;
|
||||||
|
tmp.reserve(a.length() + b.length());
|
||||||
|
tmp += a;
|
||||||
|
tmp += b;
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
TiXmlString operator + (const TiXmlString & a, const char* b)
|
||||||
|
{
|
||||||
|
TiXmlString tmp;
|
||||||
|
TiXmlString::size_type b_len = static_cast<TiXmlString::size_type>( strlen(b) );
|
||||||
|
tmp.reserve(a.length() + b_len);
|
||||||
|
tmp += a;
|
||||||
|
tmp.append(b, b_len);
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
TiXmlString operator + (const char* a, const TiXmlString & b)
|
||||||
|
{
|
||||||
|
TiXmlString tmp;
|
||||||
|
TiXmlString::size_type a_len = static_cast<TiXmlString::size_type>( strlen(a) );
|
||||||
|
tmp.reserve(a_len + b.length());
|
||||||
|
tmp.append(a, a_len);
|
||||||
|
tmp += b;
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // TIXML_USE_STL
|
@ -0,0 +1,305 @@
|
|||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef TIXML_USE_STL
|
||||||
|
|
||||||
|
#ifndef TIXML_STRING_INCLUDED
|
||||||
|
#define TIXML_STRING_INCLUDED
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
/* The support for explicit isn't that universal, and it isn't really
|
||||||
|
required - it is used to check that the TiXmlString class isn't incorrectly
|
||||||
|
used. Be nice to old compilers and macro it here:
|
||||||
|
*/
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1200 )
|
||||||
|
// Microsoft visual studio, version 6 and higher.
|
||||||
|
#define TIXML_EXPLICIT explicit
|
||||||
|
#elif defined(__GNUC__) && (__GNUC__ >= 3 )
|
||||||
|
// GCC version 3 and higher.s
|
||||||
|
#define TIXML_EXPLICIT explicit
|
||||||
|
#else
|
||||||
|
#define TIXML_EXPLICIT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
TiXmlString is an emulation of a subset of the std::string template.
|
||||||
|
Its purpose is to allow compiling TinyXML on compilers with no or poor STL support.
|
||||||
|
Only the member functions relevant to the TinyXML project have been implemented.
|
||||||
|
The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase
|
||||||
|
a string and there's no more room, we allocate a buffer twice as big as we need.
|
||||||
|
*/
|
||||||
|
class TiXmlString
|
||||||
|
{
|
||||||
|
public :
|
||||||
|
// The size type used
|
||||||
|
typedef size_t size_type;
|
||||||
|
|
||||||
|
// Error value for find primitive
|
||||||
|
static const size_type npos; // = -1;
|
||||||
|
|
||||||
|
|
||||||
|
// TiXmlString empty constructor
|
||||||
|
TiXmlString () : rep_(&nullrep_)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlString copy constructor
|
||||||
|
TiXmlString ( const TiXmlString & copy) : rep_(0)
|
||||||
|
{
|
||||||
|
init(copy.length());
|
||||||
|
memcpy(start(), copy.data(), length());
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlString constructor, based on a string
|
||||||
|
TIXML_EXPLICIT TiXmlString ( const char * copy) : rep_(0)
|
||||||
|
{
|
||||||
|
init( static_cast<size_type>( strlen(copy) ));
|
||||||
|
memcpy(start(), copy, length());
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlString constructor, based on a string
|
||||||
|
TIXML_EXPLICIT TiXmlString ( const char * str, size_type len) : rep_(0)
|
||||||
|
{
|
||||||
|
init(len);
|
||||||
|
memcpy(start(), str, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlString destructor
|
||||||
|
~TiXmlString ()
|
||||||
|
{
|
||||||
|
quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
TiXmlString& operator = (const char * copy)
|
||||||
|
{
|
||||||
|
return assign( copy, (size_type)strlen(copy));
|
||||||
|
}
|
||||||
|
|
||||||
|
TiXmlString& operator = (const TiXmlString & copy)
|
||||||
|
{
|
||||||
|
return assign(copy.start(), copy.length());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlString& operator += (const char * suffix)
|
||||||
|
{
|
||||||
|
return append(suffix, static_cast<size_type>( strlen(suffix) ));
|
||||||
|
}
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlString& operator += (char single)
|
||||||
|
{
|
||||||
|
return append(&single, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlString& operator += (const TiXmlString & suffix)
|
||||||
|
{
|
||||||
|
return append(suffix.data(), suffix.length());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Convert a TiXmlString into a null-terminated char *
|
||||||
|
const char * c_str () const { return rep_->str; }
|
||||||
|
|
||||||
|
// Convert a TiXmlString into a char * (need not be null terminated).
|
||||||
|
const char * data () const { return rep_->str; }
|
||||||
|
|
||||||
|
// Return the length of a TiXmlString
|
||||||
|
size_type length () const { return rep_->size; }
|
||||||
|
|
||||||
|
// Alias for length()
|
||||||
|
size_type size () const { return rep_->size; }
|
||||||
|
|
||||||
|
// Checks if a TiXmlString is empty
|
||||||
|
bool empty () const { return rep_->size == 0; }
|
||||||
|
|
||||||
|
// Return capacity of string
|
||||||
|
size_type capacity () const { return rep_->capacity; }
|
||||||
|
|
||||||
|
|
||||||
|
// single char extraction
|
||||||
|
const char& at (size_type index) const
|
||||||
|
{
|
||||||
|
assert( index < length() );
|
||||||
|
return rep_->str[ index ];
|
||||||
|
}
|
||||||
|
|
||||||
|
// [] operator
|
||||||
|
char& operator [] (size_type index) const
|
||||||
|
{
|
||||||
|
assert( index < length() );
|
||||||
|
return rep_->str[ index ];
|
||||||
|
}
|
||||||
|
|
||||||
|
// find a char in a string. Return TiXmlString::npos if not found
|
||||||
|
size_type find (char lookup) const
|
||||||
|
{
|
||||||
|
return find(lookup, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// find a char in a string from an offset. Return TiXmlString::npos if not found
|
||||||
|
size_type find (char tofind, size_type offset) const
|
||||||
|
{
|
||||||
|
if (offset >= length()) return npos;
|
||||||
|
|
||||||
|
for (const char* p = c_str() + offset; *p != '\0'; ++p)
|
||||||
|
{
|
||||||
|
if (*p == tofind) return static_cast< size_type >( p - c_str() );
|
||||||
|
}
|
||||||
|
return npos;
|
||||||
|
}
|
||||||
|
|
||||||
|
void clear ()
|
||||||
|
{
|
||||||
|
//Lee:
|
||||||
|
//The original was just too strange, though correct:
|
||||||
|
// TiXmlString().swap(*this);
|
||||||
|
//Instead use the quit & re-init:
|
||||||
|
quit();
|
||||||
|
init(0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function to reserve a big amount of data when we know we'll need it. Be aware that this
|
||||||
|
function DOES NOT clear the content of the TiXmlString if any exists.
|
||||||
|
*/
|
||||||
|
void reserve (size_type cap);
|
||||||
|
|
||||||
|
TiXmlString& assign (const char* str, size_type len);
|
||||||
|
|
||||||
|
TiXmlString& append (const char* str, size_type len);
|
||||||
|
|
||||||
|
void swap (TiXmlString& other)
|
||||||
|
{
|
||||||
|
Rep* r = rep_;
|
||||||
|
rep_ = other.rep_;
|
||||||
|
other.rep_ = r;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void init(size_type sz) { init(sz, sz); }
|
||||||
|
void set_size(size_type sz) { rep_->str[ rep_->size = sz ] = '\0'; }
|
||||||
|
char* start() const { return rep_->str; }
|
||||||
|
char* finish() const { return rep_->str + rep_->size; }
|
||||||
|
|
||||||
|
struct Rep
|
||||||
|
{
|
||||||
|
size_type size, capacity;
|
||||||
|
char str[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
void init(size_type sz, size_type cap)
|
||||||
|
{
|
||||||
|
if (cap)
|
||||||
|
{
|
||||||
|
// Lee: the original form:
|
||||||
|
// rep_ = static_cast<Rep*>(operator new(sizeof(Rep) + cap));
|
||||||
|
// doesn't work in some cases of new being overloaded. Switching
|
||||||
|
// to the normal allocation, although use an 'int' for systems
|
||||||
|
// that are overly picky about structure alignment.
|
||||||
|
const size_type bytesNeeded = sizeof(Rep) + cap;
|
||||||
|
const size_type intsNeeded = ( bytesNeeded + sizeof(int) - 1 ) / sizeof( int );
|
||||||
|
rep_ = reinterpret_cast<Rep*>( new int[ intsNeeded ] );
|
||||||
|
|
||||||
|
rep_->str[ rep_->size = sz ] = '\0';
|
||||||
|
rep_->capacity = cap;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rep_ = &nullrep_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void quit()
|
||||||
|
{
|
||||||
|
if (rep_ != &nullrep_)
|
||||||
|
{
|
||||||
|
// The rep_ is really an array of ints. (see the allocator, above).
|
||||||
|
// Cast it back before delete, so the compiler won't incorrectly call destructors.
|
||||||
|
delete [] ( reinterpret_cast<int*>( rep_ ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rep * rep_;
|
||||||
|
static Rep nullrep_;
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
inline bool operator == (const TiXmlString & a, const TiXmlString & b)
|
||||||
|
{
|
||||||
|
return ( a.length() == b.length() ) // optimization on some platforms
|
||||||
|
&& ( strcmp(a.c_str(), b.c_str()) == 0 ); // actual compare
|
||||||
|
}
|
||||||
|
inline bool operator < (const TiXmlString & a, const TiXmlString & b)
|
||||||
|
{
|
||||||
|
return strcmp(a.c_str(), b.c_str()) < 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator != (const TiXmlString & a, const TiXmlString & b) { return !(a == b); }
|
||||||
|
inline bool operator > (const TiXmlString & a, const TiXmlString & b) { return b < a; }
|
||||||
|
inline bool operator <= (const TiXmlString & a, const TiXmlString & b) { return !(b < a); }
|
||||||
|
inline bool operator >= (const TiXmlString & a, const TiXmlString & b) { return !(a < b); }
|
||||||
|
|
||||||
|
inline bool operator == (const TiXmlString & a, const char* b) { return strcmp(a.c_str(), b) == 0; }
|
||||||
|
inline bool operator == (const char* a, const TiXmlString & b) { return b == a; }
|
||||||
|
inline bool operator != (const TiXmlString & a, const char* b) { return !(a == b); }
|
||||||
|
inline bool operator != (const char* a, const TiXmlString & b) { return !(b == a); }
|
||||||
|
|
||||||
|
TiXmlString operator + (const TiXmlString & a, const TiXmlString & b);
|
||||||
|
TiXmlString operator + (const TiXmlString & a, const char* b);
|
||||||
|
TiXmlString operator + (const char* a, const TiXmlString & b);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString.
|
||||||
|
Only the operators that we need for TinyXML have been developped.
|
||||||
|
*/
|
||||||
|
class TiXmlOutStream : public TiXmlString
|
||||||
|
{
|
||||||
|
public :
|
||||||
|
|
||||||
|
// TiXmlOutStream << operator.
|
||||||
|
TiXmlOutStream & operator << (const TiXmlString & in)
|
||||||
|
{
|
||||||
|
*this += in;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlOutStream << operator.
|
||||||
|
TiXmlOutStream & operator << (const char * in)
|
||||||
|
{
|
||||||
|
*this += in;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
#endif // TIXML_STRING_INCLUDED
|
||||||
|
#endif // TIXML_USE_STL
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "tinyxml.h"
|
||||||
|
|
||||||
|
// The goal of the seperate error file is to make the first
|
||||||
|
// step towards localization. tinyxml (currently) only supports
|
||||||
|
// english error messages, but the could now be translated.
|
||||||
|
//
|
||||||
|
// It also cleans up the code a bit.
|
||||||
|
//
|
||||||
|
|
||||||
|
const char* TiXmlBase::errorString[ TiXmlBase::TIXML_ERROR_STRING_COUNT ] =
|
||||||
|
{
|
||||||
|
"No error",
|
||||||
|
"Error",
|
||||||
|
"Failed to open file",
|
||||||
|
"Error parsing Element.",
|
||||||
|
"Failed to read Element name",
|
||||||
|
"Error reading Element value.",
|
||||||
|
"Error reading Attributes.",
|
||||||
|
"Error: empty tag.",
|
||||||
|
"Error reading end tag.",
|
||||||
|
"Error parsing Unknown.",
|
||||||
|
"Error parsing Comment.",
|
||||||
|
"Error parsing Declaration.",
|
||||||
|
"Error document empty.",
|
||||||
|
"Error null (0) or unexpected EOF found in input stream.",
|
||||||
|
"Error parsing CDATA.",
|
||||||
|
"Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue