Patch level : 12.0 no patch
Files correlati : libraries Commento : aggiunto ssa
This commit is contained in:
parent
85239954cb
commit
f3eefc0ff5
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/.suo
Normal file
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/.suo
Normal file
Binary file not shown.
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Browse.VC.db
Normal file
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Browse.VC.db
Normal file
Binary file not shown.
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db
Normal file
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db
Normal file
Binary file not shown.
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db-shm
Normal file
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db-shm
Normal file
Binary file not shown.
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db-wal
Normal file
BIN
libraries/SSA/src/c++/.vs/SSASolution/v15/Solution.VC.db-wal
Normal file
Binary file not shown.
Binary file not shown.
164
libraries/SSA/src/c++/Backup/SSASolution.sln
Normal file
164
libraries/SSA/src/c++/Backup/SSASolution.sln
Normal file
@ -0,0 +1,164 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSALib", "SSALib\SSALib.vcproj", "{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF} = {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSAGetInfo", "SSAGetInfo\SSAGetInfo.vcproj", "{EB1AC636-C625-4DCD-857B-333A29F3CD3E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62} = {FEC518FD-F211-4B43-BC8B-F93E74F6DB62}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSACreaLicenza", "SSACreaLicenza\SSACreaLicenza.vcproj", "{CFB99818-88B6-45B9-A2BA-09785781CFB6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62} = {FEC518FD-F211-4B43-BC8B-F93E74F6DB62}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSADll", "SSADll\SSADll.vcproj", "{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62} = {FEC518FD-F211-4B43-BC8B-F93E74F6DB62}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDll", "TestDll\TestDll.vcproj", "{BBB86999-65EA-4F83-A1FD-917B0A38381A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C} = {7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSAAgent", "SSAAgent\SSAAgent.vcproj", "{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62} = {FEC518FD-F211-4B43-BC8B-F93E74F6DB62}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "contrib\cryptopp561\cryptlib.vcproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
DLL-Import Debug|Win32 = DLL-Import Debug|Win32
|
||||
DLL-Import Debug|x64 = DLL-Import Debug|x64
|
||||
DLL-Import Release|Win32 = DLL-Import Release|Win32
|
||||
DLL-Import Release|x64 = DLL-Import Release|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|x64.Build.0 = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|Win32.Build.0 = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|x64.ActiveCfg = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|x64.Build.0 = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|x64.Build.0 = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|Win32.Build.0 = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|x64.ActiveCfg = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|x64.Build.0 = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|x64.Build.0 = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|Win32.Build.0 = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|x64.ActiveCfg = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|x64.Build.0 = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|x64.Build.0 = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|Win32.Build.0 = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|x64.ActiveCfg = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|x64.Build.0 = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|x64.Build.0 = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|Win32.Build.0 = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|x64.ActiveCfg = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|x64.Build.0 = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|x64.Build.0 = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|Win32.Build.0 = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|x64.ActiveCfg = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.ActiveCfg = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.Build.0 = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.ActiveCfg = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.Build.0 = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.ActiveCfg = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.Build.0 = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.ActiveCfg = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.Build.0 = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
12
libraries/SSA/src/c++/SSAAgent/HTTPCall.h
Normal file
12
libraries/SSA/src/c++/SSAAgent/HTTPCall.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef HTTPCALL_H
|
||||
#define HTTPCALL_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ssalog.h"
|
||||
#include "ssaini.h"
|
||||
#include "ssalibman.h"
|
||||
|
||||
|
||||
int manageHTTPCall(const string& request, string& response);
|
||||
|
||||
#endif
|
506
libraries/SSA/src/c++/SSAAgent/HttpCall.cpp
Normal file
506
libraries/SSA/src/c++/SSAAgent/HttpCall.cpp
Normal file
@ -0,0 +1,506 @@
|
||||
#include "stdafx.h"
|
||||
#include <time.h>
|
||||
|
||||
#include "SSACall.h"
|
||||
#include "HTTPCall.h"
|
||||
|
||||
|
||||
string getCSS()
|
||||
{
|
||||
string ret = "";
|
||||
|
||||
ret += "<style type=\"text/css\">";
|
||||
ret += "#myTable { font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif; width:100%; border-collapse:collapse; }";
|
||||
ret += "#myTable td { font-size:1em; border:1px solid #98bf21; padding:3px 7px 2px 7px; }";
|
||||
ret += "#myTable th {font-size:1.1em;text-align:left;padding-top:5px;padding-bottom:4px;background-color:#A7C942;color:#ffffff;}";
|
||||
ret += "#myTable tr.alt td {color:#000000;background-color:#EAF2D3;}";
|
||||
ret += "#myButton {font-size:1.1em; background-color:C9A742; color:ffffff; border-radius: 20px}";
|
||||
|
||||
ret += "h1 {font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif; font-size:1.1em;text-align:left;padding-top:5px;padding-bottom:4px;background-color:#A7C942;color:#ffffff;}";
|
||||
ret += "h2 {font-family:\"Trebuchet MS\", Arial, Helvetica, sans-serif; font-size:1em; text-align:left;padding-top:5px;padding-bottom:4px;}";
|
||||
ret += "</style>";
|
||||
return ret;
|
||||
}
|
||||
|
||||
void manageROOTRequest(string& risp)
|
||||
{
|
||||
char buf[32768];
|
||||
|
||||
//risp = "<!DOCTYPE html>";
|
||||
|
||||
risp = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
|
||||
|
||||
risp += "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
|
||||
|
||||
risp += "<head>\n";
|
||||
|
||||
//risp += "<meta http-equiv=\"Content-Type\" content=\"text/html\" />";
|
||||
risp += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n";
|
||||
|
||||
risp += getCSS();
|
||||
|
||||
risp += "</head>\n";
|
||||
|
||||
risp += "<body>";
|
||||
|
||||
risp += "<div><h1><center>SSA-AGENT</center></h1></div>";
|
||||
|
||||
SSALibMan::getInstClient()->Id(buf, 32768);
|
||||
risp.append("<div><table id=myTable><tr><td>ID=").append(buf).append("</td></tr></table></div>");
|
||||
|
||||
risp += "<table width=100%>";
|
||||
|
||||
risp.append("<tr><td><center><form><button type=submit id=myButton>REFRESH</button></center></form></td></tr>");
|
||||
|
||||
//SPAZIO
|
||||
risp += "<tr height=50></tr>";
|
||||
|
||||
//PRODOTTI CONFIGURATI
|
||||
risp += "<tr><td><h><b>PRODOTTI CONFIGURATI</b></h><td></tr>";
|
||||
risp += "<tr><td>";
|
||||
|
||||
risp += "<table id=myTable>";
|
||||
risp += "<tr><th>PRODOTTO</th><th>MODULO</th><th>DATA SCADENZA</th><th>NUMERO ABILITAZIONI</th><th>NUMERO SERIE</th><th>UTENTI CORRENTI</th></tr>";
|
||||
|
||||
SSALibMan::getInstClient()->XMLProdottiConfigurati(buf, 32768);
|
||||
string prodotti = string(buf);
|
||||
int n=0;
|
||||
int n1 = prodotti.find(TAG_PRODOTTO, n+1);
|
||||
int x,x1, y, y1;
|
||||
int fine = prodotti.find("</PRODOTTO>", n+1);
|
||||
|
||||
int rowCount=0;
|
||||
while(n1!=string::npos)
|
||||
{
|
||||
//PRODOTTO
|
||||
string tr = "<tr";
|
||||
if(rowCount%2==1) tr += " class=\"alt\"";
|
||||
tr += ">";
|
||||
|
||||
rowCount++;
|
||||
|
||||
risp.append(tr);
|
||||
|
||||
//NOME PRODOTTO
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_NOME, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//NOME MODULO
|
||||
risp.append("<td></td>");
|
||||
|
||||
//DATA SCADENZA
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_DATA_SCAD, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//NUMERO ABILITAZIONI
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_NUM_ABIL, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//NUMERO SERIE
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_NUM_SERIE, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//UTENTI CORRENTI
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_CURR_USER, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//PARTITA IVA
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_PIVA, n1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
risp.append("</tr>");
|
||||
|
||||
int y=n1;
|
||||
int y1 = prodotti.find(TAG_MODULO, y+1);
|
||||
while(y1!=string::npos)
|
||||
{
|
||||
//MODULO
|
||||
string tr = "<tr";
|
||||
if(rowCount%2==1) tr += " class=\"alt\"";
|
||||
tr += ">";
|
||||
|
||||
rowCount++;
|
||||
|
||||
risp.append(tr);
|
||||
|
||||
//NOME PRODOTTO
|
||||
risp.append("<td></td>");
|
||||
|
||||
//NOME MODULO
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_NOME, y1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//DATA SCADENZA
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_DATA_SCAD, y1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//NUMERO ABILITAZIONI
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_NUM_ABIL, y1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
//NUMERO SERIE
|
||||
risp.append("<td>");
|
||||
risp.append("</td>");
|
||||
|
||||
//UTENTI CORRENTI
|
||||
risp.append("<td>");
|
||||
x = prodotti.find(ATTR_CURR_USER, y1);
|
||||
x1 = prodotti.find("\"", x+1);
|
||||
x = prodotti.find("\"", x1+1);
|
||||
risp.append(prodotti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
risp.append("</tr>");
|
||||
|
||||
y=y1+1;
|
||||
y1 = prodotti.find(TAG_MODULO, y+1);
|
||||
|
||||
if(y1>fine)
|
||||
y1 = string::npos;
|
||||
}
|
||||
|
||||
n=n1+1;
|
||||
n1 = prodotti.find(TAG_PRODOTTO, n+1);
|
||||
fine = prodotti.find("</PRODOTTO>", n+1);
|
||||
}
|
||||
risp += "</table>";
|
||||
|
||||
risp += "</td></tr>";
|
||||
|
||||
//SPAZIO
|
||||
risp += "<tr height=50></tr>";
|
||||
|
||||
//UTENTI CORRENTI
|
||||
risp += "<tr><td><h><b>UTENTI CORRENTI</b></h><td></tr>";
|
||||
risp += "<tr><td>";
|
||||
|
||||
risp += "<table id=myTable>";
|
||||
risp += "<tr><th>UTENTE</th><th>ULTIMO PING</th><th>PRODOTTO</th><th>MODULO</th><th>AZIONE</th></tr>";
|
||||
|
||||
SSALibMan::getInstClient()->XMLUtentiCorrenti(buf, 32768);
|
||||
string utenti = string(buf);
|
||||
n=0;
|
||||
n1 = utenti.find(TAG_UTENTE, n+1);
|
||||
fine = utenti.find("</UTENTE>", n1+1);
|
||||
|
||||
rowCount=0;
|
||||
|
||||
while(n1!=string::npos)
|
||||
{
|
||||
//UTENTE
|
||||
string tr = "<tr";
|
||||
if(rowCount%2==1) tr += " class=\"alt\"";
|
||||
tr += ">";
|
||||
|
||||
rowCount++;
|
||||
|
||||
risp.append(tr);
|
||||
|
||||
//NOME UTENTE
|
||||
risp.append("<td>");
|
||||
x = utenti.find(ATTR_NOME, n1);
|
||||
x1 = utenti.find("\"", x+1);
|
||||
x = utenti.find("\"", x1+1);
|
||||
|
||||
string nomeUtente=utenti.substr(x1+1, x-x1-1);
|
||||
risp.append(nomeUtente);
|
||||
risp.append("</td>");
|
||||
|
||||
//LAST PING
|
||||
risp.append("<td>");
|
||||
x = utenti.find(ATTR_LAST_PING, n1);
|
||||
x1 = utenti.find("\"", x+1);
|
||||
x = utenti.find("\"", x1+1);
|
||||
risp.append(utenti.substr(x1+1, x-x1-1));
|
||||
risp.append("</td>");
|
||||
|
||||
risp.append("<td></td><td></td>");
|
||||
risp.append("<td align=center><form action=ping method=get><input type=hidden name=cid value=").append(nomeUtente).append(" /><button type=submit id=myButton>PING</button></form></td>");
|
||||
|
||||
int z=n1;
|
||||
int z1 = utenti.find(TAG_PRODOTTO, z+1);
|
||||
int fine1 = utenti.find("</PRODOTTO>", z1+1);
|
||||
while(z1!=string::npos && z1<fine)
|
||||
{
|
||||
//PRODOTTO
|
||||
string tr = "<tr";
|
||||
if(rowCount%2==1) tr += " class=\"alt\"";
|
||||
tr += ">";
|
||||
|
||||
rowCount++;
|
||||
|
||||
risp.append(tr);
|
||||
|
||||
//NOME PRODOTTO
|
||||
risp.append("<td></td><td></td><td>");
|
||||
x = utenti.find(ATTR_NOME, z1);
|
||||
x1 = utenti.find("\"", x+1);
|
||||
x = utenti.find("\"", x1+1);
|
||||
string nomeProdotto=utenti.substr(x1+1, x-x1-1);
|
||||
risp.append(nomeProdotto);
|
||||
risp.append("</td>");
|
||||
risp.append("<td></td>");
|
||||
risp.append("<td align=center><form action=logout method=get><input type=hidden name=cid value=").append(nomeUtente).append(" /><input type=hidden name=prod value=").append(nomeProdotto).append(" /><button type=submit id=myButton>LOGOUT</button></form></td>");
|
||||
|
||||
risp.append("</tr>");
|
||||
|
||||
int y=z1;
|
||||
int y1 = utenti.find(TAG_MODULO, y+1);
|
||||
while(y1!=string::npos && y1<fine1)
|
||||
{
|
||||
//MODULO
|
||||
string tr = "<tr";
|
||||
if(rowCount%2==1) tr += " class=\"alt\"";
|
||||
tr += ">";
|
||||
|
||||
rowCount++;
|
||||
|
||||
risp.append(tr);
|
||||
|
||||
//NOME MODULO
|
||||
risp.append("<td></td><td></td><td></td><td>");
|
||||
x = utenti.find(ATTR_NOME, y1);
|
||||
x1 = utenti.find("\"", x+1);
|
||||
x = utenti.find("\"", x1+1);
|
||||
|
||||
string nomeModulo=utenti.substr(x1+1, x-x1-1);
|
||||
risp.append(nomeModulo);
|
||||
risp.append("</td>");
|
||||
risp.append("<td align=center><form action=chiudim method=get><input type=hidden name=cid value=").append(nomeUtente).append(" /><input type=hidden name=mod value=").append(nomeModulo).append(" /><button type=submit id=myButton>CHIUDI MODULO</button></form></td>");
|
||||
|
||||
risp.append("</tr>");
|
||||
|
||||
y=y1+1;
|
||||
y1 = utenti.find(TAG_MODULO, y+1);
|
||||
|
||||
if(y1>fine1)
|
||||
y1 = string::npos;
|
||||
}
|
||||
|
||||
z=z1+1;
|
||||
z1 = utenti.find(TAG_PRODOTTO, z+1);
|
||||
if(z1>fine)
|
||||
z1 = string::npos;
|
||||
}
|
||||
|
||||
n=n1+1;
|
||||
n1 = utenti.find(TAG_UTENTE, n+1);
|
||||
fine = utenti.find("</UTENTE>", n1+1);
|
||||
}
|
||||
risp += "</table>";
|
||||
|
||||
risp += "</td></tr>";
|
||||
|
||||
risp +="</table>";
|
||||
risp += "</body>";
|
||||
|
||||
risp += "</html>";
|
||||
}
|
||||
|
||||
|
||||
void manageRequest(const string& filename, string& risp)
|
||||
{
|
||||
if(filename.empty())
|
||||
return;
|
||||
|
||||
if(filename.find("/logout")!=string::npos)
|
||||
{
|
||||
string idClient, prodotto;
|
||||
|
||||
int n = filename.find("cid");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
|
||||
n=filename.find("=", n+1);
|
||||
int n1=filename.find("&", n+1);
|
||||
if(n1!=string::npos)
|
||||
idClient = filename.substr(n+1, n1-n-1);
|
||||
else
|
||||
idClient = filename.substr(n+1);
|
||||
|
||||
}
|
||||
|
||||
n = filename.find("prod");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
|
||||
n=filename.find("=", n+1);
|
||||
int n1=filename.find("&", n+1);
|
||||
if(n1!=string::npos)
|
||||
prodotto = filename.substr(n+1, n1-n-1);
|
||||
else
|
||||
prodotto = filename.substr(n+1);
|
||||
|
||||
}
|
||||
|
||||
if(!prodotto.empty() && !idClient.empty())
|
||||
{
|
||||
|
||||
string l = IFF_LOGOUT;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
|
||||
string x;
|
||||
manageSSACall(l, x);
|
||||
}
|
||||
}
|
||||
else if(filename.find("/chiudim")!=string::npos)
|
||||
{
|
||||
string idClient, modulo;
|
||||
|
||||
int n = filename.find("cid");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
|
||||
n=filename.find("=", n+1);
|
||||
int n1=filename.find("&", n+1);
|
||||
if(n1!=string::npos)
|
||||
idClient = filename.substr(n+1, n1-n-1);
|
||||
else
|
||||
idClient = filename.substr(n+1);
|
||||
|
||||
}
|
||||
|
||||
n = filename.find("mod");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
|
||||
n=filename.find("=", n+1);
|
||||
int n1=filename.find("&", n+1);
|
||||
if(n1!=string::npos)
|
||||
modulo = filename.substr(n+1, n1-n-1);
|
||||
else
|
||||
modulo = filename.substr(n+1);
|
||||
|
||||
}
|
||||
|
||||
if(!modulo.empty() && !idClient.empty())
|
||||
{
|
||||
|
||||
string l = IFF_CHIUDIMODULO;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo;
|
||||
l+=IFF_SEP;
|
||||
|
||||
string x;
|
||||
manageSSACall(l, x);
|
||||
}
|
||||
}
|
||||
else if(filename.find("/ping")!=string::npos)
|
||||
{
|
||||
string idClient;
|
||||
|
||||
int n = filename.find("cid");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
|
||||
n=filename.find("=", n+1);
|
||||
int n1=filename.find("&", n+1);
|
||||
if(n1!=string::npos)
|
||||
idClient = filename.substr(n+1, n1-n-1);
|
||||
else
|
||||
idClient = filename.substr(n+1);
|
||||
|
||||
}
|
||||
|
||||
if(!idClient.empty())
|
||||
{
|
||||
|
||||
string l = IFF_PING;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient;
|
||||
l+=IFF_SEP;
|
||||
|
||||
string x;
|
||||
manageSSACall(l, x);
|
||||
}
|
||||
}
|
||||
|
||||
manageROOTRequest(risp);
|
||||
}
|
||||
|
||||
int manageHTTPCall(const string& request, string& response)
|
||||
{
|
||||
string risp;
|
||||
string filename;
|
||||
int n, n1;
|
||||
|
||||
n = request.find(" ");
|
||||
if(n!=string::npos)
|
||||
{
|
||||
n1 = request.find(" ", n+1);
|
||||
if(n1!=string::npos)
|
||||
{
|
||||
filename = request.substr(n+1,n1-n-1);
|
||||
manageRequest(filename, risp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
char pResponseHeader[2048];
|
||||
string szStatusCode("200 OK");
|
||||
string szContentType("text/html");
|
||||
string szConnectionType("close");
|
||||
|
||||
char szDT[128];
|
||||
struct tm *newtime;
|
||||
time_t rawtime;
|
||||
|
||||
time ( &rawtime );
|
||||
newtime = gmtime(&rawtime);
|
||||
strftime(szDT, 128, "%a, %d %b %Y %H:%M:%S GMT", newtime);
|
||||
|
||||
sprintf(pResponseHeader, "HTTP/1.0 %s\r\nDate: %s\r\nServer: %s\r\nAccept-Ranges: bytes\r\nContent-Length: %d\r\nConnection: %s\r\nContent-Type: %s\r\n\r\n",
|
||||
szStatusCode.c_str(), szDT, "SSA-AGENT", risp.size(), "close", szContentType.c_str());
|
||||
|
||||
|
||||
response = string(pResponseHeader);
|
||||
response += risp;
|
||||
|
||||
|
||||
|
||||
//response = risp;
|
||||
|
||||
return 0;
|
||||
}
|
33
libraries/SSA/src/c++/SSAAgent/ReadMe.txt
Normal file
33
libraries/SSA/src/c++/SSAAgent/ReadMe.txt
Normal file
@ -0,0 +1,33 @@
|
||||
========================================================================
|
||||
CONSOLE APPLICATION : SSAAgent Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this SSAAgent application for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your SSAAgent application.
|
||||
|
||||
|
||||
SSAAgent.vcproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
SSAAgent.cpp
|
||||
This is the main application source file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named SSAAgent.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
126
libraries/SSA/src/c++/SSAAgent/SSAAgent.cpp
Normal file
126
libraries/SSA/src/c++/SSAAgent/SSAAgent.cpp
Normal file
@ -0,0 +1,126 @@
|
||||
// SSAAgent.cpp : Defines the entry point for the console application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <process.h>
|
||||
|
||||
#include "socket.h"
|
||||
|
||||
#include "SSACall.h"
|
||||
#include "HTTPCall.h"
|
||||
|
||||
static CRITICAL_SECTION cs;
|
||||
|
||||
|
||||
unsigned __stdcall OnNewConnection(void* a)
|
||||
{
|
||||
Socket* s = (Socket*) a;
|
||||
|
||||
while(true)
|
||||
{
|
||||
string r = s->ReceiveLine();
|
||||
if (r.empty()) break;
|
||||
|
||||
EnterCriticalSection(&cs);
|
||||
|
||||
try
|
||||
{
|
||||
string risp = "";
|
||||
bool close = FALSE;
|
||||
|
||||
if(r.find("GET")==0)
|
||||
{
|
||||
string request = string(r);
|
||||
while(true)
|
||||
{
|
||||
string r = s->ReceiveLine();
|
||||
if (r.empty() || r[0]==13) break;
|
||||
|
||||
request += "\n";
|
||||
request += r;
|
||||
}
|
||||
|
||||
manageHTTPCall(request, risp);
|
||||
close=TRUE;
|
||||
}
|
||||
else
|
||||
manageSSACall(r, risp);
|
||||
|
||||
if(risp.length()>0)
|
||||
s->SendLine(risp);
|
||||
|
||||
if(close)
|
||||
s->Close();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "manage");
|
||||
SSALog::getInst()->error(bufLog);
|
||||
}
|
||||
LeaveCriticalSection(&cs);
|
||||
}
|
||||
|
||||
delete s;
|
||||
_endthreadex(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
InitializeCriticalSection(&cs);
|
||||
|
||||
const char* ssaport = SSAIni::getInst()->getProp(ENV_PORT);
|
||||
|
||||
if(ssaport==NULL || strlen(ssaport)==0)
|
||||
{
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "Parametro %s NON configurato", ENV_PORT);
|
||||
SSALog::getInst()->error(bufLog);
|
||||
return -1;
|
||||
}
|
||||
|
||||
string s(ssaport);
|
||||
int p=s.find(":");
|
||||
if(p==string::npos)
|
||||
{
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "Parametro %s errato", ENV_PORT);
|
||||
SSALog::getInst()->error(bufLog);
|
||||
return -1;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
SocketServer in(atoi(s.substr(p+1).c_str()),50);
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "In ascolto su porta %s", s.c_str());
|
||||
SSALog::getInst()->info(bufLog);
|
||||
|
||||
while (true)
|
||||
{
|
||||
Socket* s=in.Accept();
|
||||
|
||||
unsigned ret;
|
||||
_beginthreadex(0,0,OnNewConnection,(void*) s,0,&ret);
|
||||
}
|
||||
}
|
||||
catch(const char* e)
|
||||
{
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "Exception in main e=%s", e);
|
||||
SSALog::getInst()->error(bufLog);
|
||||
return -1;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
char bufLog[1024];
|
||||
sprintf(bufLog, "Exception in main");
|
||||
SSALog::getInst()->error(bufLog);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
416
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcproj
Normal file
416
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcproj
Normal file
@ -0,0 +1,416 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="SSAAgent"
|
||||
ProjectGUID="{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}"
|
||||
RootNamespace="SSAAgent"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\HttpCall.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSAAgent.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSACall.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\HTTPCall.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSACall.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
192
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcxproj
Normal file
192
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcxproj
Normal file
@ -0,0 +1,192 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}</ProjectGuid>
|
||||
<RootNamespace>SSAAgent</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.27130.2020</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="HttpCall.cpp" />
|
||||
<ClCompile Include="SSAAgent.cpp" />
|
||||
<ClCompile Include="SSACall.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="HTTPCall.h" />
|
||||
<ClInclude Include="SSACall.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SSALib\SSALib.vcxproj">
|
||||
<Project>{fec518fd-f211-4b43-bc8b-f93e74f6db62}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
45
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcxproj.filters
Normal file
45
libraries/SSA/src/c++/SSAAgent/SSAAgent.vcxproj.filters
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<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</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="HttpCall.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SSAAgent.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SSACall.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="HTTPCall.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SSACall.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
71
libraries/SSA/src/c++/SSAAgent/SSACall.cpp
Normal file
71
libraries/SSA/src/c++/SSAAgent/SSACall.cpp
Normal file
@ -0,0 +1,71 @@
|
||||
#include "stdafx.h"
|
||||
#include "SSACall.h"
|
||||
|
||||
|
||||
int manage(const string& s)
|
||||
{
|
||||
vector<string> par;
|
||||
int p=s.find(IFF_SEP);
|
||||
|
||||
string ss = s;
|
||||
|
||||
while(p!=string::npos)
|
||||
{
|
||||
par.push_back(ss.substr(0,p));
|
||||
ss = ss.substr(p+1);
|
||||
p = ss.find(IFF_SEP);
|
||||
}
|
||||
|
||||
if(par.size()==0)
|
||||
return SSA_NOTLOADED;
|
||||
|
||||
if(par[0].compare(IFF_VERIFICAMODULO)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->VerificaModulo(par[1].c_str(), par[2].c_str(), par[3].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_LOGIN)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->Login(par[1].c_str(), par[2].c_str(), par[3].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_APRIMODULO)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->ApriModulo(par[1].c_str(), par[2].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_CHIUDIMODULO)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->ChiudiModulo(par[1].c_str(), par[2].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_LOGOUT)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->Logout(par[1].c_str(), par[2].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_PING)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->Ping(par[1].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_GETNUMSERIE)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->NumeroSerie(par[1].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_DATASCADENZA)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->DataScadenza(par[1].c_str(), par[2].c_str());
|
||||
}
|
||||
else if(par[0].compare(IFF_NUMMAXUTE)==0)
|
||||
{
|
||||
return SSALibMan::getInstClient()->NumMaxUtenti(par[1].c_str(), par[2].c_str());
|
||||
}
|
||||
|
||||
return SSA_NOTLOADED;
|
||||
}
|
||||
|
||||
int manageSSACall(const string& request, string& response)
|
||||
{
|
||||
int rr = manage(request);
|
||||
|
||||
char buf[1024];
|
||||
sprintf(buf, "%d", rr);
|
||||
response = buf;
|
||||
|
||||
return rr;
|
||||
}
|
12
libraries/SSA/src/c++/SSAAgent/SSACall.h
Normal file
12
libraries/SSA/src/c++/SSAAgent/SSACall.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef SSACALL_H
|
||||
#define SSACALL_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ssalog.h"
|
||||
#include "ssaini.h"
|
||||
#include "ssalibman.h"
|
||||
|
||||
|
||||
int manageSSACall(const string& request, string& response);
|
||||
|
||||
#endif
|
5
libraries/SSA/src/c++/SSAAgent/stdafx.cpp
Normal file
5
libraries/SSA/src/c++/SSAAgent/stdafx.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// SSAAgent.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
18
libraries/SSA/src/c++/SSAAgent/stdafx.h
Normal file
18
libraries/SSA/src/c++/SSAAgent/stdafx.h
Normal file
@ -0,0 +1,18 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
//STL
|
||||
#include <string>
|
||||
#include <Vector>
|
||||
using namespace std;
|
33
libraries/SSA/src/c++/SSACreaLicenza/ReadMe.txt
Normal file
33
libraries/SSA/src/c++/SSACreaLicenza/ReadMe.txt
Normal file
@ -0,0 +1,33 @@
|
||||
========================================================================
|
||||
CONSOLE APPLICATION : SSACreaLicenza Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this SSACreaLicenza application for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your SSACreaLicenza application.
|
||||
|
||||
|
||||
SSACreaLicenza.vcproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
SSACreaLicenza.cpp
|
||||
This is the main application source file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named SSACreaLicenza.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
21
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.cpp
Normal file
21
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
// SSACreaLicenza.cpp : Defines the entry point for the console application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ssalib.h"
|
||||
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if(argc==1)
|
||||
{
|
||||
generaLicenze();
|
||||
}
|
||||
else if(strcmp(argv[1], "-decrypt")==0)
|
||||
{
|
||||
string s = decrypt(argv[2]);
|
||||
printf(s.c_str());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
400
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.vcproj
Normal file
400
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.vcproj
Normal file
@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="SSACreaLicenza"
|
||||
ProjectGUID="{CFB99818-88B6-45B9-A2BA-09785781CFB6}"
|
||||
RootNamespace="SSACreaLicenza"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\SSACreaLicenza.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
40
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.vcxproj
Normal file
40
libraries/SSA/src/c++/SSACreaLicenza/SSACreaLicenza.vcxproj
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Template|Win32">
|
||||
<Configuration>Template</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Label="Globals">
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
|
||||
<ItemDefinitionGroup></ItemDefinitionGroup>
|
||||
<ItemGroup></ItemGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
6
libraries/SSA/src/c++/SSACreaLicenza/stdafx.cpp
Normal file
6
libraries/SSA/src/c++/SSACreaLicenza/stdafx.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// SSACreaLicenza.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
16
libraries/SSA/src/c++/SSACreaLicenza/stdafx.h
Normal file
16
libraries/SSA/src/c++/SSACreaLicenza/stdafx.h
Normal file
@ -0,0 +1,16 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include <string>
|
||||
using namespace std;
|
369
libraries/SSA/src/c++/SSADll/SSADll.vcproj
Normal file
369
libraries/SSA/src/c++/SSADll/SSADll.vcproj
Normal file
@ -0,0 +1,369 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="SSADll"
|
||||
ProjectGUID="{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}"
|
||||
RootNamespace="SSADll"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\$(ProjectName)64.dll"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\ssadll.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSAJni.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\ssadll.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSAJni.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
182
libraries/SSA/src/c++/SSADll/SSADll.vcxproj
Normal file
182
libraries/SSA/src/c++/SSADll/SSADll.vcxproj
Normal file
@ -0,0 +1,182 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}</ProjectGuid>
|
||||
<RootNamespace>SSADll</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.27130.2020</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\ssalib;C:\tools\java\jdk1.6.0_04\include;C:\tools\java\jdk1.6.0_04\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SSADLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(ProjectName)64.dll</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ssadll.cpp" />
|
||||
<ClCompile Include="SSAJni.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ssadll.h" />
|
||||
<ClInclude Include="SSAJni.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SSALib\SSALib.vcxproj">
|
||||
<Project>{fec518fd-f211-4b43-bc8b-f93e74f6db62}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
33
libraries/SSA/src/c++/SSADll/SSADll.vcxproj.filters
Normal file
33
libraries/SSA/src/c++/SSADll/SSADll.vcxproj.filters
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<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</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ssadll.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SSAJni.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ssadll.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SSAJni.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
153
libraries/SSA/src/c++/SSADll/SSAJni.cpp
Normal file
153
libraries/SSA/src/c++/SSADll/SSAJni.cpp
Normal file
@ -0,0 +1,153 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
#include "ssadll.h"
|
||||
#include "SSAJni.h"
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Login
|
||||
(JNIEnv *env, jobject obj, jstring id, jstring prod)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* prodotto = env->GetStringUTFChars(prod, JNI_FALSE);
|
||||
if (prodotto == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_Login(idClient, prodotto);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Login1
|
||||
(JNIEnv *env, jobject obj, jstring id, jstring prod, jstring pi)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* prodotto = env->GetStringUTFChars(prod, JNI_FALSE);
|
||||
if (prodotto == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* piva = env->GetStringUTFChars(pi, JNI_FALSE);
|
||||
if (piva == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_Login1(idClient, prodotto, piva);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Logout
|
||||
(JNIEnv * env, jobject obj, jstring id, jstring prod)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* prodotto = env->GetStringUTFChars(prod, JNI_FALSE);
|
||||
if (prodotto == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_Logout(idClient, prodotto);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1ApriModulo
|
||||
(JNIEnv * env, jobject obj, jstring id, jstring mod)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* modulo = env->GetStringUTFChars(mod, JNI_FALSE);
|
||||
if (modulo == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_ApriModulo(idClient, modulo);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1ChiudiModulo
|
||||
(JNIEnv * env, jobject obj, jstring id, jstring mod)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* modulo= env->GetStringUTFChars(mod, JNI_FALSE);
|
||||
if (modulo == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_ChiudiModulo(idClient, modulo);
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1GetLastErrorString
|
||||
(JNIEnv * env, jobject obj)
|
||||
{
|
||||
const char * error = SSA_DecodificaUltimoErrore();
|
||||
return env->NewStringUTF(error);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1VerificaModulo
|
||||
(JNIEnv * env, jobject obj, jstring prod, jstring mod)
|
||||
{
|
||||
const char* prodotto = env->GetStringUTFChars(prod, JNI_FALSE);
|
||||
if (prodotto == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* modulo = env->GetStringUTFChars(mod, JNI_FALSE);
|
||||
if (modulo == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_VerificaModulo(prodotto, modulo);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1VerificaModulo1
|
||||
(JNIEnv * env, jobject obj, jstring prod, jstring mod, jstring pi)
|
||||
{
|
||||
const char* prodotto = env->GetStringUTFChars(prod, JNI_FALSE);
|
||||
if (prodotto == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* modulo = env->GetStringUTFChars(mod, JNI_FALSE);
|
||||
if (modulo == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* piva = env->GetStringUTFChars(pi, JNI_FALSE);
|
||||
if (piva == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_VerificaModulo1(prodotto, modulo, piva);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Ping
|
||||
(JNIEnv * env, jobject obj, jstring id)
|
||||
{
|
||||
const char *idClient;
|
||||
idClient = env->GetStringUTFChars(id, JNI_FALSE);
|
||||
if (idClient == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return SSA_Ping(idClient);
|
||||
}
|
85
libraries/SSA/src/c++/SSADll/SSAJni.h
Normal file
85
libraries/SSA/src/c++/SSADll/SSAJni.h
Normal file
@ -0,0 +1,85 @@
|
||||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
/* Header for class it_sirio_sicurezza_SSAJni */
|
||||
|
||||
#ifndef _Included_it_sirio_sicurezza_SSAJni
|
||||
#define _Included_it_sirio_sicurezza_SSAJni
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_Login
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Login
|
||||
(JNIEnv *, jobject, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_Login1
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Login1
|
||||
(JNIEnv *, jobject, jstring, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_Logout
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Logout
|
||||
(JNIEnv *, jobject, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_ApriModulo
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1ApriModulo
|
||||
(JNIEnv *, jobject, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_ChiudiModulo
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1ChiudiModulo
|
||||
(JNIEnv *, jobject, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_GetLastErrorString
|
||||
* Signature: ()Ljava/lang/String;
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1GetLastErrorString
|
||||
(JNIEnv *, jobject);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_VerificaModulo
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1VerificaModulo
|
||||
(JNIEnv *, jobject, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_VerificaModulo1
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1VerificaModulo1
|
||||
(JNIEnv *, jobject, jstring, jstring, jstring);
|
||||
|
||||
/*
|
||||
* Class: it_sirio_sicurezza_SSAJni
|
||||
* Method: SSA_Ping
|
||||
* Signature: (Ljava/lang/String;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_it_sirio_sicurezza_SSAJni_SSA_1Ping
|
||||
(JNIEnv *, jobject, jstring);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
67
libraries/SSA/src/c++/SSADll/java/SSAJni.java
Normal file
67
libraries/SSA/src/c++/SSADll/java/SSAJni.java
Normal file
@ -0,0 +1,67 @@
|
||||
package it.sirio.sicurezza;
|
||||
|
||||
public class SSAJni
|
||||
{
|
||||
native public int SSA_Login(java.lang.String id, java.lang.String prodotto);
|
||||
native public int SSA_Logout(java.lang.String id, java.lang.String prodotto);
|
||||
native public int SSA_ApriModulo(java.lang.String id, java.lang.String modulo);
|
||||
native public int SSA_ChiudiModulo(java.lang.String id, java.lang.String modulo);
|
||||
native public String SSA_GetLastErrorString();
|
||||
native public int SSA_VerificaModulo(java.lang.String prodotto, java.lang.String modulo);
|
||||
native public int SSA_Ping(java.lang.String id);
|
||||
|
||||
static
|
||||
{
|
||||
String dllName="SSADll";
|
||||
String plat = System.getProperty("sun.arch.data.model");
|
||||
if(plat!=null && plat.compareTo("32")!=0)
|
||||
dllName+=plat;
|
||||
|
||||
System.loadLibrary(dllName);
|
||||
}
|
||||
|
||||
private static SSAJni m_inst;
|
||||
private SSAJni() {}
|
||||
public static SSAJni getInst()
|
||||
{
|
||||
if(m_inst==null)
|
||||
createInst();
|
||||
return m_inst;
|
||||
}
|
||||
|
||||
private static void createInst() { m_inst = new SSAJni(); }
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
java.lang.String clientId = "java_127.0.0.1";
|
||||
java.lang.String prodotto = "PROVA";
|
||||
java.lang.String modulo = "prova2";
|
||||
|
||||
int ret = SSAJni.getInst().SSA_Login(clientId, prodotto);
|
||||
if(ret!=0)
|
||||
{
|
||||
System.out.println("ERRORE Login "+SSAJni.getInst().SSA_GetLastErrorString());
|
||||
return;
|
||||
}
|
||||
ret = SSAJni.getInst().SSA_ApriModulo(clientId, modulo);
|
||||
if(ret!=0)
|
||||
{
|
||||
System.out.println("ERRORE Apri Modulo "+SSAJni.getInst().SSA_GetLastErrorString());
|
||||
return;
|
||||
}
|
||||
|
||||
ret = SSAJni.getInst().SSA_VerificaModulo(prodotto, modulo);
|
||||
if(ret!=0)
|
||||
{
|
||||
System.out.println("ERRORE Verifica Modulo "+SSAJni.getInst().SSA_GetLastErrorString());
|
||||
return;
|
||||
}
|
||||
|
||||
ret = SSAJni.getInst().SSA_VerificaModulo(prodotto, "axx");
|
||||
if(ret!=0)
|
||||
{
|
||||
System.out.println("ERRORE Verifica Modulo "+SSAJni.getInst().SSA_GetLastErrorString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
1
libraries/SSA/src/c++/SSADll/java/create_jar.bat
Normal file
1
libraries/SSA/src/c++/SSADll/java/create_jar.bat
Normal file
@ -0,0 +1 @@
|
||||
C:\tools\java\jdk1.6.0_04\bin\jar cf ssa.jar .\it\sirio\sicurezza\SSAJni.class
|
7
libraries/SSA/src/c++/SSADll/java/makejni.bat
Normal file
7
libraries/SSA/src/c++/SSADll/java/makejni.bat
Normal file
@ -0,0 +1,7 @@
|
||||
del SSAJni.class
|
||||
del SSAJni.h
|
||||
|
||||
"C:\tools\java\jdk1.6.0_04\bin\javac" -d . SSAJni.java
|
||||
"C:\tools\java\jdk1.6.0_04\bin\javah" -o SSAJni.h -jni it.sirio.sicurezza.SSAJni
|
||||
|
||||
copy SSAJni.h ..
|
80
libraries/SSA/src/c++/SSADll/ssadll.cpp
Normal file
80
libraries/SSA/src/c++/SSADll/ssadll.cpp
Normal file
@ -0,0 +1,80 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define SSA_EXPORT
|
||||
|
||||
#include "ssadll.h"
|
||||
#include "ssalibman.h"
|
||||
|
||||
|
||||
//TODO EP: deve essere multipthread?
|
||||
|
||||
const char * SSA_DecodificaUltimoErrore()
|
||||
{
|
||||
return SSALibMan::getInst()->DecodificaUltimoErrore();
|
||||
}
|
||||
|
||||
int SSA_VerificaModulo(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return SSALibMan::getInst()->VerificaModulo(prodotto, modulo);
|
||||
}
|
||||
|
||||
|
||||
int SSA_VerificaModulo1(const char* prodotto, const char* modulo, const char* piva)
|
||||
{
|
||||
return SSALibMan::getInst()->VerificaModulo(prodotto, modulo, piva);
|
||||
}
|
||||
|
||||
int SSA_Login(const char* idClient, const char* prodotto)
|
||||
{
|
||||
return SSALibMan::getInst()->Login(idClient, prodotto);
|
||||
}
|
||||
|
||||
int SSA_Login1(const char* idClient, const char* prodotto, const char* piva)
|
||||
{
|
||||
return SSALibMan::getInst()->Login(idClient, prodotto, piva);
|
||||
}
|
||||
|
||||
int SSA_ApriModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
return SSALibMan::getInst()->ApriModulo(idClient, modulo);
|
||||
}
|
||||
|
||||
int SSA_ChiudiModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
return SSALibMan::getInst()->ChiudiModulo(idClient, modulo);
|
||||
}
|
||||
|
||||
int SSA_Logout(const char* idClient, const char* prodotto)
|
||||
{
|
||||
return SSALibMan::getInst()->Logout(idClient, prodotto);
|
||||
}
|
||||
|
||||
int SSA_Ping(const char* idClient)
|
||||
{
|
||||
return SSALibMan::getInst()->Ping(idClient);
|
||||
}
|
||||
|
||||
int SSA_XMLProdottiConfigurati(char* buf, int bufSize)
|
||||
{
|
||||
return SSALibMan::getInst()->XMLProdottiConfigurati(buf, bufSize);
|
||||
}
|
||||
int SSA_XMLUtentiCorrenti(char* buf, int bufSize)
|
||||
{
|
||||
return SSALibMan::getInst()->XMLUtentiCorrenti(buf, bufSize);
|
||||
}
|
||||
int SSA_Id(char* buf, int bufSize)
|
||||
{
|
||||
return SSALibMan::getInst()->Id(buf, bufSize);
|
||||
}
|
||||
int SSA_NumeroSerie(const char* prodotto)
|
||||
{
|
||||
return SSALibMan::getInst()->NumeroSerie(prodotto);
|
||||
}
|
||||
int SSA_DataScadenza(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return SSALibMan::getInst()->DataScadenza(prodotto, modulo);
|
||||
}
|
||||
int SSA_NumMaxUtenti(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return SSALibMan::getInst()->NumMaxUtenti(prodotto, modulo);
|
||||
}
|
30
libraries/SSA/src/c++/SSADll/ssadll.h
Normal file
30
libraries/SSA/src/c++/SSADll/ssadll.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef SSADLL_H
|
||||
#define SSADLL_H
|
||||
|
||||
#ifndef SSA_EXPORT
|
||||
#define DECLSPEC __declspec(dllimport)
|
||||
#else
|
||||
#define DECLSPEC __declspec(dllexport)
|
||||
#endif
|
||||
|
||||
extern "C"
|
||||
{
|
||||
DECLSPEC const char* SSA_DecodificaUltimoErrore();
|
||||
DECLSPEC int SSA_VerificaModulo(const char* prodotto, const char* modulo);
|
||||
DECLSPEC int SSA_VerificaModulo1(const char* prodotto, const char* modulo, const char* piva);
|
||||
DECLSPEC int SSA_Login(const char* idClient, const char* prodotto);
|
||||
DECLSPEC int SSA_Login1(const char* idClient, const char* prodotto, const char* piva);
|
||||
DECLSPEC int SSA_ApriModulo(const char* idClient, const char* modulo);
|
||||
DECLSPEC int SSA_ChiudiModulo(const char* idClient, const char* modulo);
|
||||
DECLSPEC int SSA_Logout(const char* idClient, const char* prodotto);
|
||||
DECLSPEC int SSA_Ping(const char* idClient);
|
||||
|
||||
DECLSPEC int SSA_XMLProdottiConfigurati(char* buf, int bufSize);
|
||||
DECLSPEC int SSA_XMLUtentiCorrenti(char* buf, int bufSize);
|
||||
DECLSPEC int SSA_Id(char* buf, int bufSize);
|
||||
DECLSPEC int SSA_NumeroSerie(const char* prodotto);
|
||||
DECLSPEC int SSA_DataScadenza(const char* prodotto, const char* modulo);
|
||||
DECLSPEC int SSA_NumMaxUtenti(const char* prodotto, const char* modulo);
|
||||
}
|
||||
|
||||
#endif
|
33
libraries/SSA/src/c++/SSAGetInfo/ReadMe.txt
Normal file
33
libraries/SSA/src/c++/SSAGetInfo/ReadMe.txt
Normal file
@ -0,0 +1,33 @@
|
||||
========================================================================
|
||||
CONSOLE APPLICATION : SSAGetInfo Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this SSAGetInfo application for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your SSAGetInfo application.
|
||||
|
||||
|
||||
SSAGetInfo.vcproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
SSAGetInfo.cpp
|
||||
This is the main application source file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named SSAGetInfo.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
31
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.cpp
Normal file
31
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.cpp
Normal file
@ -0,0 +1,31 @@
|
||||
// SSAGetInfo.cpp : Defines the entry point for the console application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "ssalib.h"
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
char* nome = NULL;
|
||||
char* prodotto = NULL;
|
||||
|
||||
for(int i=1; i<argc; i++)
|
||||
{
|
||||
if(strcmp(argv[i], "-nome")==0)
|
||||
{
|
||||
nome = argv[i+1];
|
||||
i++;
|
||||
}
|
||||
else if(strcmp(argv[i], "-prod")==0)
|
||||
{
|
||||
prodotto = argv[i+1];
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
generaFileClient(nome, prodotto);
|
||||
return 0;
|
||||
}
|
||||
|
400
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcproj
Normal file
400
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcproj
Normal file
@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="SSAGetInfo"
|
||||
ProjectGUID="{EB1AC636-C625-4DCD-857B-333A29F3CD3E}"
|
||||
RootNamespace="SSAGetInfo"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSALib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\SSAGetInfo.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
188
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcxproj
Normal file
188
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcxproj
Normal file
@ -0,0 +1,188 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{EB1AC636-C625-4DCD-857B-333A29F3CD3E}</ProjectGuid>
|
||||
<RootNamespace>SSAGetInfo</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.27130.2020</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\SSALib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SSAGetInfo.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SSALib\SSALib.vcxproj">
|
||||
<Project>{fec518fd-f211-4b43-bc8b-f93e74f6db62}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
33
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcxproj.filters
Normal file
33
libraries/SSA/src/c++/SSAGetInfo/SSAGetInfo.vcxproj.filters
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<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</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SSAGetInfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
6
libraries/SSA/src/c++/SSAGetInfo/stdafx.cpp
Normal file
6
libraries/SSA/src/c++/SSAGetInfo/stdafx.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// SSAGetInfo.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
14
libraries/SSA/src/c++/SSAGetInfo/stdafx.h
Normal file
14
libraries/SSA/src/c++/SSAGetInfo/stdafx.h
Normal file
@ -0,0 +1,14 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
30
libraries/SSA/src/c++/SSALib/ReadMe.txt
Normal file
30
libraries/SSA/src/c++/SSALib/ReadMe.txt
Normal file
@ -0,0 +1,30 @@
|
||||
========================================================================
|
||||
STATIC LIBRARY : SSALib Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this SSALib library project for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your SSALib application.
|
||||
|
||||
|
||||
SSALib.vcproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named SSALib.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
452
libraries/SSA/src/c++/SSALib/SSALib.vcproj
Normal file
452
libraries/SSA/src/c++/SSALib/SSALib.vcproj
Normal file
@ -0,0 +1,452 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="SSALib"
|
||||
ProjectGUID="{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}"
|
||||
RootNamespace="SSALib"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\contrib\cryptopp561"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="..\contrib\cryptopp561\Win32\output\debug\cryptlib.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\contrib\cryptopp561"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="..\contrib\cryptopp561\Win32\output\release\cryptlib.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\contrib\cryptopp561"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="..\contrib\cryptopp561\x64\output\debug\cryptlib.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\contrib\cryptopp561"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="..\contrib\cryptopp561\x64\output\release\cryptlib.lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\auth.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\crypt.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\hwm.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\infoUtente.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\modulo.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\prodotto.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\socket.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssaini.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalib.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman_client.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman_clientserver.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalog.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\auth.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\crypt.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\hwm.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\infoUtente.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\modulo.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\prodotto.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\socket.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssaerr.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssaini.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalib.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman_client.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalibman_clientserver.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ssalog.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
198
libraries/SSA/src/c++/SSALib/SSALib.vcxproj
Normal file
198
libraries/SSA/src/c++/SSALib/SSALib.vcxproj
Normal file
@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}</ProjectGuid>
|
||||
<RootNamespace>SSALib</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.27130.2020</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\contrib\cryptopp561;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>..\contrib\cryptopp561\Win32\output\debug\cryptlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\contrib\cryptopp561;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>..\contrib\cryptopp561\Win32\output\release\cryptlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\contrib\cryptopp561;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>..\contrib\cryptopp561\x64\output\debug\cryptlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\contrib\cryptopp561;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>..\contrib\cryptopp561\x64\output\release\cryptlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="auth.cpp" />
|
||||
<ClCompile Include="crypt.cpp" />
|
||||
<ClCompile Include="hwm.cpp" />
|
||||
<ClCompile Include="infoUtente.cpp" />
|
||||
<ClCompile Include="modulo.cpp" />
|
||||
<ClCompile Include="prodotto.cpp" />
|
||||
<ClCompile Include="socket.cpp" />
|
||||
<ClCompile Include="ssaini.cpp" />
|
||||
<ClCompile Include="ssalib.cpp" />
|
||||
<ClCompile Include="ssalibman.cpp" />
|
||||
<ClCompile Include="ssalibman_client.cpp" />
|
||||
<ClCompile Include="ssalibman_clientserver.cpp" />
|
||||
<ClCompile Include="ssalog.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="auth.h" />
|
||||
<ClInclude Include="crypt.h" />
|
||||
<ClInclude Include="hwm.h" />
|
||||
<ClInclude Include="infoUtente.h" />
|
||||
<ClInclude Include="modulo.h" />
|
||||
<ClInclude Include="prodotto.h" />
|
||||
<ClInclude Include="socket.h" />
|
||||
<ClInclude Include="ssaerr.h" />
|
||||
<ClInclude Include="ssaini.h" />
|
||||
<ClInclude Include="ssalib.h" />
|
||||
<ClInclude Include="ssalibman.h" />
|
||||
<ClInclude Include="ssalibman_client.h" />
|
||||
<ClInclude Include="ssalibman_clientserver.h" />
|
||||
<ClInclude Include="ssalog.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\contrib\cryptopp561\cryptlib.vcxproj">
|
||||
<Project>{3423ec9a-52e4-4a4d-9753-edebc38785ef}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
111
libraries/SSA/src/c++/SSALib/SSALib.vcxproj.filters
Normal file
111
libraries/SSA/src/c++/SSALib/SSALib.vcxproj.filters
Normal file
@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<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</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="auth.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="crypt.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="hwm.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="infoUtente.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="modulo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="prodotto.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="socket.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssaini.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssalib.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssalibman.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssalibman_client.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssalibman_clientserver.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ssalog.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="auth.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="crypt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="hwm.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="infoUtente.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="modulo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="prodotto.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="socket.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssaerr.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssaini.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssalib.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssalibman.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssalibman_client.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssalibman_clientserver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssalog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
</Project>
|
1002
libraries/SSA/src/c++/SSALib/auth.cpp
Normal file
1002
libraries/SSA/src/c++/SSALib/auth.cpp
Normal file
File diff suppressed because it is too large
Load Diff
89
libraries/SSA/src/c++/SSALib/auth.h
Normal file
89
libraries/SSA/src/c++/SSALib/auth.h
Normal file
@ -0,0 +1,89 @@
|
||||
#ifndef AUTH_H
|
||||
#define AUTH_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "prodotto.h"
|
||||
#include "infoUtente.h"
|
||||
#include "ssaerr.h"
|
||||
|
||||
#define SSA_REL "2.2"
|
||||
|
||||
#define TAG_SSA "<SSA"
|
||||
#define ATTR_REL "rel"
|
||||
#define TAG_CLIMAC "<CLIMAC"
|
||||
#define TAG_MAC "<MAC"
|
||||
#define ATTR_ADDR "addr"
|
||||
#define ATTR_DESCRI "descri"
|
||||
#define TAG_PRODOTTO "<PRODOTTO"
|
||||
#define ATTR_NUM_SERIE "numero-serie"
|
||||
#define ATTR_PIVA "piva"
|
||||
#define TAG_MODULO "<MODULO"
|
||||
#define ATTR_NOME "nome"
|
||||
#define ATTR_DATA_SCAD "data-scad"
|
||||
#define ATTR_NUM_ABIL "num-abilitazioni"
|
||||
#define ATTR_CURR_USER "curr-users"
|
||||
#define TAG_UTENTE "<UTENTE"
|
||||
#define ATTR_LAST_PING "last-ping"
|
||||
|
||||
|
||||
#define AUTH_EXT "ssa"
|
||||
#define CLIENT_EXT "ssax"
|
||||
|
||||
class Auth
|
||||
{
|
||||
public:
|
||||
static bool generaFileClient(const char* nome, const char* prodotto);
|
||||
static bool generaLicenze();
|
||||
static string decrypt(string fileName);
|
||||
|
||||
private:
|
||||
static string getSSARelTAG();
|
||||
static string generaMACAddressTAG();
|
||||
|
||||
static bool generaLicenza(string fileClient);
|
||||
static string estraiAttr(const string& s, const char * attr);
|
||||
static int estraiIntAttr(const string& s, const char * attr);
|
||||
|
||||
private:
|
||||
bool m_loaded;
|
||||
map<string, Prodotto*> m_prodotti; //[nome_prodotto, Prodotto] Prodotti configurati
|
||||
map<string, InfoUtente*> m_utenti; //[idClient, InfoUtente] Utenti connessi
|
||||
string m_id;
|
||||
|
||||
public:
|
||||
Auth();
|
||||
bool caricaFileLicenze();
|
||||
bool isLoaded() { return m_loaded; }
|
||||
|
||||
int VerificaModulo(const char* prodotto, const char* modulo);
|
||||
int VerificaModulo(const char* prodotto, const char* modulo, const char* piva);
|
||||
int Login(const char* idClient, const char* prodotto);
|
||||
int Login(const char* idClient, const char* prodotto, const char* piva);
|
||||
int ApriModulo(const char* idClient, const char* modulo);
|
||||
int ChiudiModulo(const char* idClient, const char* modulo);
|
||||
int Logout(const char* idClient, const char* prodotto);
|
||||
int Ping(const char* idClient);
|
||||
int AttivaLicenza(const char* file);
|
||||
int GetXMLProdottiConfigurati(char* buf, int bufSize);
|
||||
int GetXMLUtentiCorrenti(char* buf, int bufSize);
|
||||
int GetId(char* buf, int bufSize);
|
||||
int GetNumeroSerie(const char* prodotto);
|
||||
int DataScadenza(const char* prodotto, const char* modulo);
|
||||
int NumMaxUtenti(const char* prodotto, const char* modulo);
|
||||
|
||||
private:
|
||||
bool caricaFileLicenze(string fileName);
|
||||
bool verificaRequisitiHW(string hwTag);
|
||||
void addProdotto(Prodotto* p);
|
||||
Prodotto* getProdottoDaNomeModulo(const char* modulo);
|
||||
bool verificaExpDate(const char* date);
|
||||
string dumpProdotti();
|
||||
string dumpUtenti();
|
||||
void logoutUtentiScaduti();
|
||||
int ChiudiModulo(const char* idClient, const char* modulo, bool logout);
|
||||
|
||||
bool iequals(const string& a, const string& b);
|
||||
map<string, Prodotto*>::iterator findProdottoIC(const char * strToFind);
|
||||
};
|
||||
|
||||
#endif
|
33
libraries/SSA/src/c++/SSALib/crypt.cpp
Normal file
33
libraries/SSA/src/c++/SSALib/crypt.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "crypt.h"
|
||||
|
||||
#include "default.h"
|
||||
#include "hex.h"
|
||||
using namespace CryptoPP;
|
||||
|
||||
static char* DEF_PASSWORD="@MarcinelleCinque4321";
|
||||
|
||||
string encryptString(const char *instr)
|
||||
{
|
||||
string outstr;
|
||||
char* passPhrase = DEF_PASSWORD;
|
||||
|
||||
DefaultEncryptorWithMAC encryptor(passPhrase, new HexEncoder(new StringSink(outstr)));
|
||||
encryptor.Put((byte *)instr, strlen(instr));
|
||||
encryptor.MessageEnd();
|
||||
|
||||
return outstr;
|
||||
}
|
||||
|
||||
string decryptString(const char *instr)
|
||||
{
|
||||
string outstr;
|
||||
char* passPhrase = DEF_PASSWORD;
|
||||
|
||||
HexDecoder decryptor(new DefaultDecryptorWithMAC(passPhrase, new StringSink(outstr)));
|
||||
decryptor.Put((byte *)instr, strlen(instr));
|
||||
decryptor.MessageEnd();
|
||||
|
||||
return outstr;
|
||||
}
|
9
libraries/SSA/src/c++/SSALib/crypt.h
Normal file
9
libraries/SSA/src/c++/SSALib/crypt.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef CRYPT_H
|
||||
#define CRYPT_H
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
string encryptString(const char *instr);
|
||||
string decryptString(const char *instr);
|
||||
|
||||
#endif
|
103
libraries/SSA/src/c++/SSALib/hwm.cpp
Normal file
103
libraries/SSA/src/c++/SSALib/hwm.cpp
Normal file
@ -0,0 +1,103 @@
|
||||
#include "stdafx.h"
|
||||
#include <winsock2.h>
|
||||
#include <iphlpapi.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#pragma comment(lib, "IPHLPAPI.lib")
|
||||
//#pragma comment(lib, "wsock32.lib")
|
||||
|
||||
|
||||
vector<IP_ADAPTER_INFO> getAdapterInfos()
|
||||
{
|
||||
vector<IP_ADAPTER_INFO> ret;
|
||||
|
||||
IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs
|
||||
DWORD dwBufLen = sizeof(AdapterInfo); // Save memory size of buffer
|
||||
|
||||
DWORD dwStatus = GetAdaptersInfo(AdapterInfo,&dwBufLen);
|
||||
if(dwStatus!=ERROR_SUCCESS)
|
||||
return ret;
|
||||
|
||||
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
|
||||
|
||||
do
|
||||
{
|
||||
ret.push_back(*pAdapterInfo);
|
||||
pAdapterInfo = pAdapterInfo->Next;
|
||||
}
|
||||
while(pAdapterInfo);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool generaMACAddress(string& mac, string& descri)
|
||||
{
|
||||
vector<IP_ADAPTER_INFO> infos = getAdapterInfos();
|
||||
if(infos.size()==0)
|
||||
return false;
|
||||
|
||||
int bestPos = 0;
|
||||
for(int i=0; i<infos.size(); i++)
|
||||
{
|
||||
IP_ADAPTER_INFO info = infos[i];
|
||||
if(info.Type == IF_TYPE_IEEE80211)
|
||||
{
|
||||
//trovata interfaccia wireless!
|
||||
bestPos = i;
|
||||
break;
|
||||
}
|
||||
else if(info.Type == MIB_IF_TYPE_ETHERNET && strcmp(info.IpAddressList.IpAddress.String, "0.0.0.0")!=0 )
|
||||
{
|
||||
//trovata interfaccia di rete collegata!
|
||||
bestPos = i;
|
||||
break;
|
||||
}
|
||||
else if(info.Type == MIB_IF_TYPE_ETHERNET )
|
||||
{
|
||||
//trovata interfaccia di rete non collegata!
|
||||
//me la segno ma continuo la ricerca
|
||||
bestPos = i;
|
||||
}
|
||||
}
|
||||
|
||||
char buf[17];
|
||||
|
||||
for (int i = 0; i < infos[bestPos].AddressLength; i++)
|
||||
{
|
||||
sprintf (&buf[2*i], "%.2X", infos[bestPos].Address[i]);
|
||||
}
|
||||
buf[2*infos[bestPos].AddressLength]=0;
|
||||
|
||||
mac = string(buf);
|
||||
descri = infos[bestPos].Description;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool verificaMACAddress(const char * macAddr)
|
||||
{
|
||||
vector<IP_ADAPTER_INFO> infos = getAdapterInfos();
|
||||
if(infos.size()==0)
|
||||
return false;
|
||||
|
||||
for(int i=0; i<infos.size(); i++)
|
||||
{
|
||||
IP_ADAPTER_INFO info = infos[i];
|
||||
char buf[17];
|
||||
|
||||
for (int i = 0; i < info.AddressLength; i++)
|
||||
{
|
||||
sprintf (&buf[2*i], "%.2X", info.Address[i]);
|
||||
}
|
||||
buf[2*info.AddressLength]=0;
|
||||
|
||||
if(strcmp(macAddr, buf)==0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
char* getNomeMacchina()
|
||||
{
|
||||
return getenv("COMPUTERNAME");
|
||||
}
|
10
libraries/SSA/src/c++/SSALib/hwm.h
Normal file
10
libraries/SSA/src/c++/SSALib/hwm.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef HWM_H
|
||||
#define HWM_H
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
bool generaMACAddress(string& mac, string& descri);
|
||||
bool verificaMACAddress(const char * macAddr);
|
||||
char* getNomeMacchina();
|
||||
|
||||
#endif
|
80
libraries/SSA/src/c++/SSALib/infoUtente.cpp
Normal file
80
libraries/SSA/src/c++/SSALib/infoUtente.cpp
Normal file
@ -0,0 +1,80 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "infoUtente.h"
|
||||
|
||||
InfoUtente::InfoUtente(const char* idClient)
|
||||
{
|
||||
m_idClient=idClient;
|
||||
ping();
|
||||
}
|
||||
|
||||
void InfoUtente::ping()
|
||||
{
|
||||
time ( &m_lastPing );
|
||||
}
|
||||
|
||||
Prodotto* InfoUtente::getProdotto(const char* prodotto)
|
||||
{
|
||||
map<string, Prodotto*>::iterator it = m_prodotti.find(prodotto);
|
||||
if(it==m_prodotti.end())
|
||||
return NULL;
|
||||
|
||||
return it->second;
|
||||
}
|
||||
|
||||
void InfoUtente::addProdotto(const char* prodotto)
|
||||
{
|
||||
m_prodotti[prodotto]=new Prodotto(prodotto);
|
||||
}
|
||||
|
||||
void InfoUtente::removeProdotto(const char* prodotto)
|
||||
{
|
||||
Prodotto* p = getProdotto(prodotto);
|
||||
if(p!=NULL)
|
||||
delete p;
|
||||
m_prodotti.erase(prodotto);
|
||||
}
|
||||
|
||||
Prodotto* InfoUtente::getProdottoDaNomeModulo(const char* modulo)
|
||||
{
|
||||
map<string, Prodotto*>::iterator it = m_prodotti.begin();
|
||||
while(it != m_prodotti.end())
|
||||
{
|
||||
Prodotto* p = it->second;
|
||||
Modulo* m = p->getModulo(modulo);
|
||||
|
||||
if(m!=NULL)
|
||||
return p;
|
||||
it++;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int InfoUtente::getNumProdotti()
|
||||
{
|
||||
return m_prodotti.size();
|
||||
}
|
||||
|
||||
string InfoUtente::getIdClient()
|
||||
{
|
||||
return m_idClient;
|
||||
}
|
||||
vector<string> InfoUtente::getListaProdotti()
|
||||
{
|
||||
vector<string> ret;
|
||||
|
||||
map<string, Prodotto*>::iterator it = m_prodotti.begin();
|
||||
while(it!=m_prodotti.end())
|
||||
{
|
||||
ret.push_back(it->first);
|
||||
it++;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
const void InfoUtente::getLastPingAsString(char* bufTime)
|
||||
{
|
||||
struct tm * timeinfo;
|
||||
timeinfo = localtime ( &m_lastPing );
|
||||
strftime(bufTime, 50, "%Y-%m-%d.%H:%M:%S", timeinfo);
|
||||
}
|
33
libraries/SSA/src/c++/SSALib/infoUtente.h
Normal file
33
libraries/SSA/src/c++/SSALib/infoUtente.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef INFOUTENTE_H
|
||||
#define INFOUTENTE_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <time.h>
|
||||
|
||||
#include "prodotto.h"
|
||||
|
||||
class InfoUtente
|
||||
{
|
||||
private:
|
||||
string m_idClient;
|
||||
time_t m_lastPing;
|
||||
map<string, Prodotto*> m_prodotti; //[nome_prodotto, Prodotto] Prodotti aperti da questo idClient
|
||||
|
||||
public:
|
||||
InfoUtente(const char* idClient);
|
||||
void ping();
|
||||
|
||||
string getIdClient();
|
||||
|
||||
Prodotto* getProdotto(const char* prodotto);
|
||||
Prodotto* getProdottoDaNomeModulo(const char* modulo);
|
||||
void addProdotto(const char* prodotto);
|
||||
void removeProdotto(const char* prodotto);
|
||||
int getNumProdotti();
|
||||
vector<string> getListaProdotti();
|
||||
|
||||
time_t getLastPing() { return m_lastPing; }
|
||||
const void getLastPingAsString(char* buf);
|
||||
};
|
||||
|
||||
#endif
|
25
libraries/SSA/src/c++/SSALib/modulo.cpp
Normal file
25
libraries/SSA/src/c++/SSALib/modulo.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "modulo.h"
|
||||
|
||||
Modulo::Modulo(string nome, int maxUsers, string expDate)
|
||||
{
|
||||
m_nome=nome;
|
||||
m_maxUsers = maxUsers;
|
||||
m_expDate = expDate;
|
||||
|
||||
m_currUsers = 0;
|
||||
}
|
||||
|
||||
int Modulo::getExpDateAsInt()
|
||||
{
|
||||
string s;
|
||||
string::iterator it = m_expDate.begin();
|
||||
while(it!=m_expDate.end())
|
||||
{
|
||||
if( (*it) != '-')
|
||||
s += (*it);
|
||||
it++;
|
||||
}
|
||||
return atoi(s.c_str());
|
||||
}
|
30
libraries/SSA/src/c++/SSALib/modulo.h
Normal file
30
libraries/SSA/src/c++/SSALib/modulo.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef MODULO_H
|
||||
#define MODULO_H
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
class Modulo
|
||||
{
|
||||
private:
|
||||
string m_nome;
|
||||
int m_maxUsers;
|
||||
string m_expDate;
|
||||
|
||||
int m_currUsers;
|
||||
|
||||
public:
|
||||
Modulo(string nome, int maxUsers, string expDate);
|
||||
|
||||
public:
|
||||
string getNome() { return m_nome; }
|
||||
int getMaxUsers() { return m_maxUsers; }
|
||||
string getExpDate() { return m_expDate; }
|
||||
int getExpDateAsInt();
|
||||
|
||||
int getCurrUsers() { return m_currUsers; }
|
||||
void addUser() { m_currUsers++; }
|
||||
void removeUser() { m_currUsers--; }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
114
libraries/SSA/src/c++/SSALib/prodotto.cpp
Normal file
114
libraries/SSA/src/c++/SSALib/prodotto.cpp
Normal file
@ -0,0 +1,114 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "prodotto.h"
|
||||
|
||||
Prodotto::Prodotto(string nome)
|
||||
{
|
||||
m_nome=nome;
|
||||
m_maxUsers = 1;
|
||||
m_expDate = "";
|
||||
m_numSerie = 0;
|
||||
m_piva="";
|
||||
|
||||
m_currUsers = 0;
|
||||
}
|
||||
Prodotto::Prodotto(string nome, int maxUsers, string expDate, int numSerie, string piva)
|
||||
{
|
||||
m_nome=nome;
|
||||
m_maxUsers = maxUsers;
|
||||
m_expDate = expDate;
|
||||
m_numSerie = numSerie;
|
||||
m_piva=piva;
|
||||
|
||||
m_currUsers = 0;
|
||||
}
|
||||
|
||||
void Prodotto::addModulo(Modulo* m)
|
||||
{
|
||||
m_moduli[m->getNome()] = m;
|
||||
}
|
||||
|
||||
Modulo* Prodotto::getModulo(string modulo)
|
||||
{
|
||||
map<string, Modulo*>::iterator itMod = m_moduli.find(modulo);
|
||||
|
||||
if(itMod==m_moduli.end())
|
||||
return NULL;
|
||||
|
||||
return itMod->second;
|
||||
}
|
||||
|
||||
void Prodotto::removeModulo(const char* modulo)
|
||||
{
|
||||
m_moduli.erase(modulo);
|
||||
}
|
||||
|
||||
vector<string> Prodotto::getListaModuli()
|
||||
{
|
||||
vector<string> moduli;
|
||||
map<string, Modulo*>::iterator it = m_moduli.begin();
|
||||
while(it!=m_moduli.end())
|
||||
{
|
||||
moduli.push_back(it->first);
|
||||
it++;
|
||||
}
|
||||
return moduli;
|
||||
}
|
||||
int Prodotto::getExpDateAsInt()
|
||||
{
|
||||
string s;
|
||||
string::iterator it = m_expDate.begin();
|
||||
while(it!=m_expDate.end())
|
||||
{
|
||||
if( (*it) != '-')
|
||||
s += (*it);
|
||||
it++;
|
||||
}
|
||||
return atoi(s.c_str());
|
||||
}
|
||||
|
||||
bool Prodotto::verificaPiva(const char* piva)
|
||||
{
|
||||
if(m_piva.length()==0)
|
||||
//il prodotto non richiede partita iva, non faccio nessun controllo
|
||||
return true;
|
||||
|
||||
if(piva==NULL || strlen(piva)==0)
|
||||
//il prodotto richiede partita iva, ma la partita iva non c'è
|
||||
return false;
|
||||
|
||||
const char* piva_sep = ":";
|
||||
|
||||
int da = 0;
|
||||
int a = 0;
|
||||
bool found = false;
|
||||
|
||||
while(a < strlen(m_piva.c_str()) )
|
||||
{
|
||||
if(strcmp(m_piva.substr(a,1).c_str(), piva_sep)==0)
|
||||
{
|
||||
if(da<a)
|
||||
{
|
||||
string xx = m_piva.substr(da,a-da);
|
||||
//printf(" --> DEBUG (%s)\n", xx.c_str());
|
||||
|
||||
found = strcmp(xx.c_str(), piva) == 0;
|
||||
if(found)
|
||||
return true;
|
||||
}
|
||||
da = a+1;
|
||||
}
|
||||
a++;
|
||||
}
|
||||
|
||||
if(da<a)
|
||||
{
|
||||
string xx = m_piva.substr(da,a-da);
|
||||
// printf(" --> DEBUG (%s)\n", xx.c_str());
|
||||
found = strcmp(xx.c_str(), piva) == 0;
|
||||
if(found)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
44
libraries/SSA/src/c++/SSALib/prodotto.h
Normal file
44
libraries/SSA/src/c++/SSALib/prodotto.h
Normal file
@ -0,0 +1,44 @@
|
||||
#ifndef PRODOTTO_H
|
||||
#define PRODOTTO_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "modulo.h"
|
||||
|
||||
class Prodotto
|
||||
{
|
||||
private:
|
||||
string m_nome;
|
||||
int m_maxUsers;
|
||||
string m_expDate;
|
||||
int m_numSerie;
|
||||
string m_piva;
|
||||
|
||||
int m_currUsers;
|
||||
|
||||
map<string, Modulo*> m_moduli; //[nome_modulo, Modulo]
|
||||
|
||||
public:
|
||||
Prodotto(string nome);
|
||||
Prodotto(string nome, int maxUsers, string expDate, int numSerie, string piva);
|
||||
|
||||
public:
|
||||
string getNome() { return m_nome; }
|
||||
int getMaxUsers() { return m_maxUsers; }
|
||||
string getExpDate() { return m_expDate; }
|
||||
int getExpDateAsInt();
|
||||
int getNumSerie() { return m_numSerie; }
|
||||
string getPiva() { return m_piva; }
|
||||
|
||||
int getCurrUsers() { return m_currUsers; }
|
||||
void addUser() { m_currUsers++; }
|
||||
void removeUser() { m_currUsers--; }
|
||||
|
||||
public:
|
||||
void addModulo(Modulo* m);
|
||||
void removeModulo(const char* modulo);
|
||||
Modulo* getModulo(string modulo);
|
||||
vector<string> getListaModuli();
|
||||
bool verificaPiva(const char* piva);
|
||||
};
|
||||
|
||||
#endif
|
171
libraries/SSA/src/c++/SSALib/socket.cpp
Normal file
171
libraries/SSA/src/c++/SSALib/socket.cpp
Normal file
@ -0,0 +1,171 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "socket.h"
|
||||
|
||||
#pragma comment(lib, "wsock32.lib")
|
||||
|
||||
|
||||
int Socket::m_numOfSockets=0;
|
||||
|
||||
|
||||
Socket::Socket() : m_socket(0)
|
||||
{
|
||||
Start();
|
||||
// UDP: use SOCK_DGRAM instead of SOCK_STREAM
|
||||
m_socket = socket(AF_INET,SOCK_STREAM,0);
|
||||
|
||||
if (m_socket == INVALID_SOCKET) {
|
||||
throw "INVALID_SOCKET (1)";
|
||||
}
|
||||
|
||||
m_refCounter = 1;
|
||||
}
|
||||
|
||||
Socket::Socket(SOCKET s) : m_socket(s)
|
||||
{
|
||||
Start();
|
||||
m_refCounter = 1;
|
||||
};
|
||||
|
||||
Socket::~Socket() {
|
||||
m_refCounter--;
|
||||
if (m_refCounter==0) {
|
||||
Close();
|
||||
m_refCounter=0;
|
||||
}
|
||||
|
||||
--m_numOfSockets;
|
||||
if (m_numOfSockets==0) End();
|
||||
}
|
||||
|
||||
void Socket::Close() {
|
||||
closesocket(m_socket);
|
||||
}
|
||||
|
||||
void Socket::Start()
|
||||
{
|
||||
if (m_numOfSockets==0)
|
||||
{
|
||||
WSADATA info;
|
||||
if (WSAStartup(MAKEWORD(2,0), &info)) {
|
||||
throw "Could not start WSA";
|
||||
}
|
||||
}
|
||||
++m_numOfSockets;
|
||||
}
|
||||
|
||||
void Socket::End()
|
||||
{
|
||||
WSACleanup();
|
||||
}
|
||||
|
||||
SocketServer::SocketServer(int port, int connections, SocketType type)
|
||||
{
|
||||
sockaddr_in sa;
|
||||
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
|
||||
sa.sin_family = PF_INET;
|
||||
sa.sin_port = htons(port);
|
||||
m_socket = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if (m_socket == INVALID_SOCKET) {
|
||||
throw "INVALID_SOCKET (2)";
|
||||
}
|
||||
|
||||
if(type==NonBlockingSocket) {
|
||||
u_long arg = 1;
|
||||
ioctlsocket(m_socket, FIONBIO, &arg);
|
||||
}
|
||||
|
||||
/* bind the socket to the internet address */
|
||||
if (bind(m_socket, (sockaddr *)&sa, sizeof(sockaddr_in)) == SOCKET_ERROR) {
|
||||
closesocket(m_socket);
|
||||
|
||||
char buf[1024];
|
||||
sprintf(buf, "bind non riuscito, porta occupata (%d)?", port);
|
||||
throw buf;
|
||||
}
|
||||
|
||||
listen(m_socket, connections);
|
||||
}
|
||||
|
||||
Socket* SocketServer::Accept()
|
||||
{
|
||||
SOCKET new_sock = accept(m_socket, 0, 0);
|
||||
if (new_sock == INVALID_SOCKET)
|
||||
{
|
||||
int rc = WSAGetLastError();
|
||||
if(rc==WSAEWOULDBLOCK) {
|
||||
return 0; // non-blocking call, no request pending
|
||||
}
|
||||
else {
|
||||
throw "INVALID_SOCKET (4)";
|
||||
}
|
||||
}
|
||||
Socket* r = new Socket(new_sock);
|
||||
return r;
|
||||
}
|
||||
|
||||
SocketClient::SocketClient(const string& host, int port) : Socket()
|
||||
{
|
||||
string error;
|
||||
|
||||
hostent *he;
|
||||
if ((he = gethostbyname(host.c_str())) == 0)
|
||||
{
|
||||
error = strerror(errno);
|
||||
throw error;
|
||||
}
|
||||
|
||||
sockaddr_in addr;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = htons(port);
|
||||
addr.sin_addr = *((in_addr *)he->h_addr);
|
||||
memset(&(addr.sin_zero), 0, 8);
|
||||
|
||||
if (::connect(m_socket, (sockaddr *) &addr, sizeof(sockaddr)))
|
||||
{
|
||||
error = strerror(WSAGetLastError());
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
string Socket::ReceiveLine()
|
||||
{
|
||||
string ret;
|
||||
while (true)
|
||||
{
|
||||
char r;
|
||||
|
||||
switch(recv(m_socket, &r, 1, 0))
|
||||
{
|
||||
case 0: // not connected anymore;
|
||||
// ... but last line sent
|
||||
// might not end in \n,
|
||||
// so return ret anyway.
|
||||
return ret;
|
||||
case -1:
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
if(r==-84)
|
||||
{
|
||||
recv(m_socket, &r, 1, 0);
|
||||
recv(m_socket, &r, 1, 0);
|
||||
recv(m_socket, &r, 1, 0);
|
||||
recv(m_socket, &r, 1, 0);
|
||||
recv(m_socket, &r, 1, 0);
|
||||
recv(m_socket, &r, 1, 0);
|
||||
}
|
||||
|
||||
if (r == '\n') return ret;
|
||||
ret += r;
|
||||
}
|
||||
}
|
||||
|
||||
void Socket::SendLine(string s)
|
||||
{
|
||||
s += '\n';
|
||||
send(m_socket,s.c_str(),s.length(),0);
|
||||
}
|
50
libraries/SSA/src/c++/SSALib/socket.h
Normal file
50
libraries/SSA/src/c++/SSALib/socket.h
Normal file
@ -0,0 +1,50 @@
|
||||
#ifndef SOCKET_H
|
||||
#define SOCKET_H
|
||||
|
||||
#include <WinSock2.h>
|
||||
#include "stdafx.h"
|
||||
|
||||
enum SocketType {BlockingSocket, NonBlockingSocket};
|
||||
|
||||
class Socket
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~Socket();
|
||||
void Close();
|
||||
|
||||
string ReceiveLine();
|
||||
void SendLine (string l);
|
||||
|
||||
protected:
|
||||
SOCKET m_socket;
|
||||
int m_refCounter;
|
||||
|
||||
protected:
|
||||
friend class SocketServer;
|
||||
friend class SocketSelect;
|
||||
|
||||
Socket(SOCKET s);
|
||||
Socket();
|
||||
|
||||
private:
|
||||
static void Start();
|
||||
static void End();
|
||||
static int m_numOfSockets;
|
||||
|
||||
};
|
||||
|
||||
class SocketClient : public Socket {
|
||||
public:
|
||||
SocketClient(const string& host, int port);
|
||||
};
|
||||
|
||||
class SocketServer : public Socket
|
||||
{
|
||||
public:
|
||||
SocketServer(int port, int connections, SocketType type=BlockingSocket);
|
||||
|
||||
Socket* Accept();
|
||||
};
|
||||
|
||||
#endif
|
16
libraries/SSA/src/c++/SSALib/ssaerr.h
Normal file
16
libraries/SSA/src/c++/SSALib/ssaerr.h
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
#define SSA_OK 0 //ok
|
||||
#define SSA_IDCLIENT_ERRATO -1 //idclient errato
|
||||
#define SSA_NOTLOADED -100 //file di permessi non caricato (requisiti hw non verificati)
|
||||
#define SSA_PROD_NOTFOUND -101 //prodotto non trovato
|
||||
#define SSA_PROD_MAXUSERS -102 //raggiunto numero massimo di connessioni al prodotto
|
||||
#define SSA_PROD_EXPDATE -103 //superata exp date prodotto
|
||||
#define SSA_PROD_PIVA -104 //partita iva errata
|
||||
|
||||
#define SSA_MOD_NOTFOUND -201 //modulo non trovato
|
||||
#define SSA_MOD_MAXUSERS -202 //raggiunto numero massimo di connessioni al modulo
|
||||
#define SSA_MOD_EXPDATE -203 //superata exp date modulo
|
||||
|
||||
#define SSA_UTENTE_NON_LOGGATO -301 //utente non loggato
|
||||
|
||||
#define SSA_PROBLEMI_CONNESSIONE -400 //problemi di connessione
|
70
libraries/SSA/src/c++/SSALib/ssaini.cpp
Normal file
70
libraries/SSA/src/c++/SSALib/ssaini.cpp
Normal file
@ -0,0 +1,70 @@
|
||||
#include "stdafx.h"
|
||||
#include<iostream>
|
||||
#include<fstream>
|
||||
|
||||
#include "ssaini.h"
|
||||
|
||||
SSAIni* SSAIni::__inst=NULL;
|
||||
|
||||
SSAIni* SSAIni::getInst()
|
||||
{
|
||||
if(__inst==NULL)
|
||||
createInst();
|
||||
|
||||
return __inst;
|
||||
}
|
||||
|
||||
void SSAIni::createInst()
|
||||
{
|
||||
__inst = new SSAIni();
|
||||
}
|
||||
|
||||
SSAIni::SSAIni()
|
||||
{
|
||||
loadDefaults();
|
||||
|
||||
ifstream infile1;
|
||||
infile1.open("ssa.ini");
|
||||
string s;
|
||||
|
||||
if(infile1.is_open())
|
||||
{
|
||||
while(!infile1.eof())
|
||||
{
|
||||
getline(infile1,s);
|
||||
if(s.length()==0)
|
||||
continue;
|
||||
|
||||
readLine(s);
|
||||
}
|
||||
infile1.close();
|
||||
}
|
||||
}
|
||||
|
||||
void SSAIni::readLine(string s)
|
||||
{
|
||||
if(s.size()==0)
|
||||
return;
|
||||
//salto i commenti
|
||||
if(s[0]=='#')
|
||||
return;
|
||||
int p = s.find("=");
|
||||
if(p==string::npos)
|
||||
return;
|
||||
m_props[s.substr(0,p)] = s.substr(p+1);
|
||||
}
|
||||
|
||||
const char* SSAIni::getProp(const char* p)
|
||||
{
|
||||
map<string, string>::iterator it = m_props.find(p);
|
||||
if(it==m_props.end()) return NULL;
|
||||
return it->second.c_str();
|
||||
}
|
||||
|
||||
void SSAIni::loadDefaults()
|
||||
{
|
||||
m_props[ENV_DEBUG] = "1";
|
||||
m_props[ENV_PORT] = "";
|
||||
m_props[ENV_PING_MAXTIME] = "300";
|
||||
m_props[ENV_PING_DELAY] = "60";
|
||||
}
|
34
libraries/SSA/src/c++/SSALib/ssaini.h
Normal file
34
libraries/SSA/src/c++/SSALib/ssaini.h
Normal file
@ -0,0 +1,34 @@
|
||||
#ifndef SSAINI_H
|
||||
#define SSAINI_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#define ENV_DEBUG "SSA-DEBUG" //abilitazione livello di debug
|
||||
#define ENV_PORT "SSA-PORT" //ip:porta di ssaagent.exe
|
||||
|
||||
#define ENV_PING_MAXTIME "PING-MAXTIME" //tempo in secondi dopo il quale un utente puo' essere dichiarato scaduto
|
||||
#define ENV_PING_DELAY "PING-DELAY" //tempo in secondi ogni quanto pingare
|
||||
|
||||
class SSAIni
|
||||
{
|
||||
private:
|
||||
static SSAIni* __inst;
|
||||
static void createInst();
|
||||
|
||||
public:
|
||||
static SSAIni* getInst();
|
||||
|
||||
private:
|
||||
map<string, string> m_props;
|
||||
|
||||
private:
|
||||
SSAIni();
|
||||
void readLine(string s);
|
||||
void loadDefaults();
|
||||
|
||||
public:
|
||||
const char* getProp(const char* p);
|
||||
};
|
||||
|
||||
#endif
|
20
libraries/SSA/src/c++/SSALib/ssalib.cpp
Normal file
20
libraries/SSA/src/c++/SSALib/ssalib.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
#include "stdafx.h"
|
||||
#include "ssalib.h"
|
||||
|
||||
#include "auth.h"
|
||||
|
||||
bool generaFileClient(const char* nome, const char* prodotto)
|
||||
{
|
||||
return Auth::generaFileClient(nome, prodotto);
|
||||
}
|
||||
|
||||
bool generaLicenze()
|
||||
{
|
||||
return Auth::generaLicenze();
|
||||
}
|
||||
|
||||
string decrypt(string fileName)
|
||||
{
|
||||
return Auth::decrypt(fileName);
|
||||
}
|
||||
|
16
libraries/SSA/src/c++/SSALib/ssalib.h
Normal file
16
libraries/SSA/src/c++/SSALib/ssalib.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef SSABLIB_H
|
||||
#define SSABLIB_H
|
||||
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
//generazione del file client con i requisiti hw
|
||||
bool generaFileClient(const char* nome, const char* prodotto);
|
||||
|
||||
//generazione del file di licenze (file_client + file_moduli)
|
||||
bool generaLicenze();
|
||||
|
||||
//utility per vedere in chiaro un file di licenze
|
||||
string decrypt(string fileName);
|
||||
|
||||
#endif
|
79
libraries/SSA/src/c++/SSALib/ssalibman.cpp
Normal file
79
libraries/SSA/src/c++/SSALib/ssalibman.cpp
Normal file
@ -0,0 +1,79 @@
|
||||
#include "stdafx.h"
|
||||
#include "ssalibman.h"
|
||||
#include "ssaini.h"
|
||||
#include "ssalibman_client.h"
|
||||
#include "ssalibman_clientserver.h"
|
||||
|
||||
SSALibMan* SSALibMan::__inst=NULL;
|
||||
|
||||
SSALibMan* SSALibMan::getInstClient()
|
||||
{
|
||||
if(__inst==NULL)
|
||||
createInstClient();
|
||||
|
||||
return __inst;
|
||||
}
|
||||
|
||||
SSALibMan* SSALibMan::getInst()
|
||||
{
|
||||
if(__inst==NULL)
|
||||
createInst();
|
||||
|
||||
return __inst;
|
||||
}
|
||||
|
||||
void SSALibMan::createInst()
|
||||
{
|
||||
const char* ssaport = SSAIni::getInst()->getProp(ENV_PORT);
|
||||
if(ssaport!=NULL && strlen(ssaport)>0)
|
||||
{
|
||||
string s(ssaport);
|
||||
int p=s.find(":");
|
||||
if(p==string::npos)
|
||||
throw "ParametroErrato!";
|
||||
|
||||
__inst = new SSALibMan_ClientServer(s.substr(0,p), atoi(s.substr(p+1).c_str() ));
|
||||
}
|
||||
else
|
||||
{
|
||||
createInstClient();
|
||||
}
|
||||
}
|
||||
|
||||
void SSALibMan::createInstClient()
|
||||
{
|
||||
__inst = new SSALibMan_Client();
|
||||
}
|
||||
|
||||
const char* SSALibMan::DecodificaUltimoErrore()
|
||||
{
|
||||
switch(m_lastError)
|
||||
{
|
||||
case SSA_OK:
|
||||
return "OK";
|
||||
case SSA_IDCLIENT_ERRATO:
|
||||
return "IdClient errato...";
|
||||
case SSA_NOTLOADED:
|
||||
return "File di configurazione non caricato...";
|
||||
case SSA_PROD_NOTFOUND:
|
||||
return "Prodotto non trovato";
|
||||
case SSA_PROD_MAXUSERS:
|
||||
return "Superato numero utenti massimo prodotto";
|
||||
case SSA_PROD_PIVA:
|
||||
return "Partita IVA errata";
|
||||
case SSA_PROD_EXPDATE:
|
||||
return "Superata data scadenza prodotto";
|
||||
case SSA_MOD_NOTFOUND:
|
||||
return "Modulo non trovato";
|
||||
case SSA_MOD_MAXUSERS:
|
||||
return "Superato numero utenti massimo modulo";
|
||||
case SSA_MOD_EXPDATE:
|
||||
return "Superata data scadenza modulo";
|
||||
case SSA_UTENTE_NON_LOGGATO:
|
||||
return "Utente non loggato";
|
||||
case SSA_PROBLEMI_CONNESSIONE:
|
||||
return "Impossibile contattare il server delle licenze";
|
||||
default:
|
||||
return "ERRORE NON CODIFICATO";
|
||||
}
|
||||
}
|
55
libraries/SSA/src/c++/SSALib/ssalibman.h
Normal file
55
libraries/SSA/src/c++/SSALib/ssalibman.h
Normal file
@ -0,0 +1,55 @@
|
||||
#ifndef SSALIBMAN_H
|
||||
#define SSALIBMAN_H
|
||||
|
||||
#include "auth.h"
|
||||
|
||||
#define IFF_SEP "|"
|
||||
#define IFF_VERIFICAMODULO "VM"
|
||||
#define IFF_LOGIN "LI"
|
||||
#define IFF_APRIMODULO "AM"
|
||||
#define IFF_CHIUDIMODULO "CM"
|
||||
#define IFF_LOGOUT "LO"
|
||||
#define IFF_PING "PG"
|
||||
#define IFF_GETXMLPRODOTTI "XMLP"
|
||||
#define IFF_GETXMLUTENTI "XMLU"
|
||||
#define IFF_GETID "ID"
|
||||
#define IFF_GETNUMSERIE "NS"
|
||||
#define IFF_DATASCADENZA "DS"
|
||||
#define IFF_NUMMAXUTE "NU"
|
||||
|
||||
class SSALibMan
|
||||
{
|
||||
private:
|
||||
static SSALibMan* __inst;
|
||||
|
||||
protected:
|
||||
int m_lastError;
|
||||
|
||||
public:
|
||||
static SSALibMan* getInst();
|
||||
static SSALibMan* getInstClient();
|
||||
|
||||
public:
|
||||
const char* DecodificaUltimoErrore();
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo) = 0;
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo, const char* piva) = 0;
|
||||
virtual int Login(const char* idClient, const char* prodotto) = 0;
|
||||
virtual int Login(const char* idClient, const char* prodotto, const char* piva) = 0;
|
||||
virtual int ApriModulo(const char* idClient, const char* modulo) = 0;
|
||||
virtual int ChiudiModulo(const char* idClient, const char* modulo) = 0;
|
||||
virtual int Logout(const char* idClient, const char* prodotto) = 0;
|
||||
virtual int Ping(const char* idClient) = 0;
|
||||
|
||||
virtual int XMLProdottiConfigurati(char* buf, int bufSize) =0;
|
||||
virtual int XMLUtentiCorrenti(char* buf, int bufSize) =0;
|
||||
virtual int Id(char* buf, int bufSize) =0;
|
||||
virtual int NumeroSerie(const char* prodotto) =0;
|
||||
virtual int DataScadenza(const char* prodotto, const char* modulo) =0;
|
||||
virtual int NumMaxUtenti(const char* prodotto, const char* modulo) =0;
|
||||
|
||||
private:
|
||||
static void createInst();
|
||||
static void createInstClient();
|
||||
};
|
||||
|
||||
#endif
|
81
libraries/SSA/src/c++/SSALib/ssalibman_client.cpp
Normal file
81
libraries/SSA/src/c++/SSALib/ssalibman_client.cpp
Normal file
@ -0,0 +1,81 @@
|
||||
#include "stdafx.h"
|
||||
#include "ssalibman_client.h"
|
||||
|
||||
|
||||
SSALibMan_Client::SSALibMan_Client()
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
m_auth.caricaFileLicenze();
|
||||
}
|
||||
|
||||
int SSALibMan_Client::VerificaModulo(const char* prodotto, const char* modulo)
|
||||
{
|
||||
m_lastError = m_auth.VerificaModulo(prodotto, modulo);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::VerificaModulo(const char* prodotto, const char* modulo, const char* piva)
|
||||
{
|
||||
m_lastError = m_auth.VerificaModulo(prodotto, modulo, piva);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::Login(const char* idClient, const char* prodotto)
|
||||
{
|
||||
m_lastError = m_auth.Login(idClient, prodotto);
|
||||
return m_lastError;
|
||||
}
|
||||
int SSALibMan_Client::Login(const char* idClient, const char* prodotto, const char* piva)
|
||||
{
|
||||
m_lastError = m_auth.Login(idClient, prodotto, piva);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::ApriModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
m_lastError = m_auth.ApriModulo(idClient, modulo);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::ChiudiModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
m_lastError = m_auth.ChiudiModulo(idClient, modulo);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::Logout(const char* idClient, const char* prodotto)
|
||||
{
|
||||
m_lastError = m_auth.Logout(idClient, prodotto);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::Ping(const char* idClient)
|
||||
{
|
||||
m_lastError = m_auth.Ping(idClient);
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_Client::XMLProdottiConfigurati(char* buf, int bufSize)
|
||||
{
|
||||
return m_auth.GetXMLProdottiConfigurati(buf, bufSize);
|
||||
}
|
||||
int SSALibMan_Client::XMLUtentiCorrenti(char* buf, int bufSize)
|
||||
{
|
||||
return m_auth.GetXMLUtentiCorrenti(buf, bufSize);
|
||||
}
|
||||
int SSALibMan_Client::Id(char* buf, int bufSize)
|
||||
{
|
||||
return m_auth.GetId(buf, bufSize);
|
||||
}
|
||||
int SSALibMan_Client::NumeroSerie(const char* prodotto)
|
||||
{
|
||||
return m_auth.GetNumeroSerie(prodotto);
|
||||
}
|
||||
int SSALibMan_Client::DataScadenza(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return m_auth.DataScadenza(prodotto, modulo);
|
||||
}
|
||||
int SSALibMan_Client::NumMaxUtenti(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return m_auth.NumMaxUtenti(prodotto, modulo);
|
||||
}
|
33
libraries/SSA/src/c++/SSALib/ssalibman_client.h
Normal file
33
libraries/SSA/src/c++/SSALib/ssalibman_client.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef SSALIBMAN_CLIENT_H
|
||||
#define SSALIBMAN_CLIENT_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ssalibman.h"
|
||||
|
||||
class SSALibMan_Client : public SSALibMan
|
||||
{
|
||||
private:
|
||||
Auth m_auth;
|
||||
|
||||
public:
|
||||
SSALibMan_Client();
|
||||
|
||||
public:
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo);
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo, const char* piva);
|
||||
virtual int Login(const char* idClient, const char* prodotto);
|
||||
virtual int Login(const char* idClient, const char* prodotto, const char* piva);
|
||||
virtual int ApriModulo(const char* idClient, const char* modulo);
|
||||
virtual int ChiudiModulo(const char* idClient, const char* modulo);
|
||||
virtual int Logout(const char* idClient, const char* prodotto);
|
||||
virtual int Ping(const char* idClient);
|
||||
|
||||
virtual int XMLProdottiConfigurati(char* buf, int bufSize);
|
||||
virtual int XMLUtentiCorrenti(char* buf, int bufSize);
|
||||
virtual int Id(char* buf, int bufSize);
|
||||
virtual int NumeroSerie(const char* prodotto);
|
||||
virtual int DataScadenza(const char* prodotto, const char* modulo);
|
||||
virtual int NumMaxUtenti(const char* prodotto, const char* modulo);
|
||||
};
|
||||
|
||||
#endif
|
549
libraries/SSA/src/c++/SSALib/ssalibman_clientserver.cpp
Normal file
549
libraries/SSA/src/c++/SSALib/ssalibman_clientserver.cpp
Normal file
@ -0,0 +1,549 @@
|
||||
#include "stdafx.h"
|
||||
#include <windows.h>
|
||||
#include <process.h>
|
||||
#include "ssaini.h"
|
||||
#include "ssalibman_clientserver.h"
|
||||
|
||||
|
||||
//TODO EP: usare un accesso multipthread?
|
||||
static CRITICAL_SECTION cs;
|
||||
|
||||
static vector<string> loggedUsers;
|
||||
|
||||
static string m_host;
|
||||
static int m_port;
|
||||
|
||||
unsigned __stdcall Answer1(void* a)
|
||||
{
|
||||
int pingDelay = atoi(SSAIni::getInst()->getProp(ENV_PING_DELAY));
|
||||
|
||||
if(pingDelay>0)
|
||||
{
|
||||
bool goSleep=true;
|
||||
|
||||
while(true)
|
||||
{
|
||||
EnterCriticalSection(&cs);
|
||||
|
||||
try
|
||||
{
|
||||
goSleep=true;
|
||||
vector<string>::iterator it = loggedUsers.begin();
|
||||
while(it!=loggedUsers.end())
|
||||
{
|
||||
int ret = SSALibMan::getInstClient()->Ping((*it).c_str());
|
||||
if(ret==SSA_UTENTE_NON_LOGGATO)
|
||||
{
|
||||
goSleep=false;
|
||||
loggedUsers.erase(it);
|
||||
break;
|
||||
}
|
||||
else
|
||||
it++;
|
||||
}
|
||||
}
|
||||
catch(...) {}
|
||||
LeaveCriticalSection(&cs);
|
||||
|
||||
if(goSleep)
|
||||
Sleep(pingDelay*1000);
|
||||
}
|
||||
}
|
||||
_endthreadex(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SSALibMan_ClientServer::SSALibMan_ClientServer(const string& host, int port)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
try
|
||||
{
|
||||
InitializeCriticalSection(&cs);
|
||||
|
||||
//m_socket = new SocketClient(m_host, m_port);
|
||||
|
||||
m_host = host;
|
||||
m_port = port;
|
||||
|
||||
unsigned ret;
|
||||
_beginthreadex(0,0,Answer1, NULL,0,&ret);
|
||||
}
|
||||
catch(...) { /*m_socket=NULL;*/ }
|
||||
}
|
||||
|
||||
SSALibMan_ClientServer::~SSALibMan_ClientServer()
|
||||
{
|
||||
/*if(m_socket!=NULL)
|
||||
{
|
||||
m_socket->Close();
|
||||
delete m_socket;
|
||||
}*/
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::VerificaModulo(const char* prodotto, const char* modulo)
|
||||
{
|
||||
return VerificaModulo(prodotto, modulo, "");
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::VerificaModulo(const char* prodotto, const char* modulo, const char* piva)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_VERIFICAMODULO;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo;
|
||||
l+=IFF_SEP;
|
||||
l+=piva;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
m_socket->Close();
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::Login(const char* idClient, const char* prodotto)
|
||||
{
|
||||
return Login(idClient, prodotto, "");
|
||||
}
|
||||
int SSALibMan_ClientServer::Login(const char* idClient, const char* prodotto, const char* piva)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_LOGIN;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient==NULL?"":idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
l+=piva;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
EnterCriticalSection(&cs);
|
||||
string clientName;
|
||||
if(idClient!=NULL)
|
||||
clientName=string(idClient);
|
||||
|
||||
bool found=false;
|
||||
vector<string>::iterator it = loggedUsers.begin();
|
||||
while(it!=loggedUsers.end())
|
||||
{
|
||||
if((*it).compare(clientName.c_str())==0)
|
||||
{
|
||||
found=true;
|
||||
break;
|
||||
}
|
||||
it++;
|
||||
}
|
||||
|
||||
if(!found)
|
||||
loggedUsers.push_back(clientName);
|
||||
|
||||
LeaveCriticalSection(&cs);
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
return m_lastError;
|
||||
}
|
||||
int SSALibMan_ClientServer::ApriModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_APRIMODULO;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient==NULL?"":idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::ChiudiModulo(const char* idClient, const char* modulo)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_CHIUDIMODULO;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient==NULL?"":idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
m_socket->Close();
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::Logout(const char* idClient, const char* prodotto)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_LOGOUT;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient==NULL?"":idClient;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
|
||||
EnterCriticalSection(&cs);
|
||||
string clientName;
|
||||
if(idClient!=NULL)
|
||||
clientName=string(idClient);
|
||||
|
||||
vector<string>::iterator it = loggedUsers.begin();
|
||||
while(it!=loggedUsers.end())
|
||||
{
|
||||
if((*it).compare(clientName.c_str())==0)
|
||||
{
|
||||
loggedUsers.erase(it);
|
||||
break;
|
||||
}
|
||||
it++;
|
||||
}
|
||||
LeaveCriticalSection(&cs);
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::Ping(const char* idClient)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_PING;
|
||||
l+=IFF_SEP;
|
||||
l+=idClient==NULL?"":idClient;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
m_lastError = atoi(ret.c_str());
|
||||
|
||||
m_socket->Close();
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::XMLProdottiConfigurati(char* buf, int bufSize)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_GETXMLPRODOTTI;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
{
|
||||
strcpy(buf, ret.size()>bufSize? ret.substr(0, bufSize).c_str() : ret.c_str());
|
||||
m_lastError = ret.size();
|
||||
}
|
||||
|
||||
m_socket->Close();
|
||||
return m_lastError;
|
||||
}
|
||||
int SSALibMan_ClientServer::XMLUtentiCorrenti(char* buf, int bufSize)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_GETXMLUTENTI;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
{
|
||||
strcpy(buf, ret.size()>bufSize? ret.substr(0, bufSize).c_str() : ret.c_str());
|
||||
m_lastError = ret.size();
|
||||
}
|
||||
|
||||
m_socket->Close();
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::Id(char* buf, int bufSize)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_GETID;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
{
|
||||
strcpy(buf, ret.size()>bufSize? ret.substr(0, bufSize).c_str() : ret.c_str());
|
||||
m_lastError = ret.size();
|
||||
}
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::NumeroSerie(const char* prodotto)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_GETNUMSERIE;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
if(ret.size()>0)
|
||||
{
|
||||
m_lastError=SSA_OK;
|
||||
return atoi(ret.c_str());
|
||||
}
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::DataScadenza(const char* prodotto, const char* modulo)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_DATASCADENZA;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo==NULL?"" : modulo;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
|
||||
m_socket->Close();
|
||||
|
||||
if(ret.size()>0)
|
||||
{
|
||||
m_lastError=SSA_OK;
|
||||
return atoi(ret.c_str());
|
||||
}
|
||||
return m_lastError;
|
||||
}
|
||||
|
||||
int SSALibMan_ClientServer::NumMaxUtenti(const char* prodotto, const char* modulo)
|
||||
{
|
||||
m_lastError = SSA_NOTLOADED;
|
||||
|
||||
SocketClient* m_socket = NULL;
|
||||
try
|
||||
{
|
||||
m_socket = new SocketClient(m_host, m_port);
|
||||
}
|
||||
catch ( ... )
|
||||
{
|
||||
m_lastError = SSA_PROBLEMI_CONNESSIONE;
|
||||
}
|
||||
|
||||
if(m_socket==NULL)
|
||||
return m_lastError;
|
||||
|
||||
string l = IFF_NUMMAXUTE;
|
||||
l+=IFF_SEP;
|
||||
l+=prodotto;
|
||||
l+=IFF_SEP;
|
||||
l+=modulo==NULL?"" : modulo;
|
||||
l+=IFF_SEP;
|
||||
|
||||
m_socket->SendLine(l);
|
||||
|
||||
string ret = m_socket->ReceiveLine();
|
||||
m_socket->Close();
|
||||
|
||||
if(ret.size()>0)
|
||||
{
|
||||
m_lastError=SSA_OK;
|
||||
return atoi(ret.c_str());
|
||||
}
|
||||
return m_lastError;
|
||||
}
|
36
libraries/SSA/src/c++/SSALib/ssalibman_clientserver.h
Normal file
36
libraries/SSA/src/c++/SSALib/ssalibman_clientserver.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef SSALIBMAN_CLIENTSERVER_H
|
||||
#define SSALIBMAN_CLIENTSERVER_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "socket.h"
|
||||
|
||||
#include "ssalibman.h"
|
||||
|
||||
class SSALibMan_ClientServer : public SSALibMan
|
||||
{
|
||||
private:
|
||||
//SocketClient* m_socket;
|
||||
|
||||
public:
|
||||
SSALibMan_ClientServer(const string& host, int port);
|
||||
virtual ~SSALibMan_ClientServer();
|
||||
|
||||
public:
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo);
|
||||
virtual int VerificaModulo(const char* prodotto, const char* modulo, const char* piva);
|
||||
virtual int Login(const char* idClient, const char* prodotto);
|
||||
virtual int Login(const char* idClient, const char* prodotto, const char* piva);
|
||||
virtual int ApriModulo(const char* idClient, const char* modulo);
|
||||
virtual int ChiudiModulo(const char* idClient, const char* modulo);
|
||||
virtual int Logout(const char* idClient, const char* prodotto);
|
||||
virtual int Ping(const char* idClient);
|
||||
|
||||
virtual int XMLProdottiConfigurati(char* buf, int bufSize);
|
||||
virtual int XMLUtentiCorrenti(char* buf, int bufSize);
|
||||
virtual int Id(char* buf, int bufSize);
|
||||
virtual int NumeroSerie(const char* prodotto);
|
||||
virtual int DataScadenza(const char* prodotto, const char* modulo);
|
||||
virtual int NumMaxUtenti(const char* prodotto, const char* modulo);
|
||||
};
|
||||
|
||||
#endif
|
90
libraries/SSA/src/c++/SSALib/ssalog.cpp
Normal file
90
libraries/SSA/src/c++/SSALib/ssalog.cpp
Normal file
@ -0,0 +1,90 @@
|
||||
#include "stdafx.h"
|
||||
#include <time.h>
|
||||
#include <sys/timeb.h>
|
||||
|
||||
#include "ssalog.h"
|
||||
#include "ssaini.h"
|
||||
#include "auth.h"
|
||||
|
||||
SSALog* SSALog::__inst=NULL;
|
||||
|
||||
SSALog* SSALog::getInst()
|
||||
{
|
||||
if(__inst==NULL)
|
||||
createInst();
|
||||
|
||||
return __inst;
|
||||
}
|
||||
|
||||
void SSALog::createInst()
|
||||
{
|
||||
__inst = new SSALog();
|
||||
}
|
||||
|
||||
SSALog::SSALog()
|
||||
{
|
||||
m_dbgLev = 0;
|
||||
|
||||
const char* env = SSAIni::getInst()->getProp(ENV_DEBUG);
|
||||
if(env!=NULL && strlen(env)>0)
|
||||
m_dbgLev = atoi(env);
|
||||
|
||||
if(m_dbgLev>=DBGLEV_ERROR)
|
||||
{
|
||||
m_file = fopen ("ssa.log","w");
|
||||
char buf[1024];
|
||||
sprintf(buf, "SSARel=%s", SSA_REL);
|
||||
info(buf);
|
||||
}
|
||||
}
|
||||
|
||||
SSALog::~SSALog()
|
||||
{
|
||||
if(m_file!=NULL)
|
||||
{
|
||||
fflush(m_file);
|
||||
fclose(m_file);
|
||||
}
|
||||
}
|
||||
|
||||
void SSALog::write(const char* t, const char* s)
|
||||
{
|
||||
if(m_file!=NULL)
|
||||
{
|
||||
char buf[1024];
|
||||
|
||||
time_t rawtime;
|
||||
struct tm * timeinfo;
|
||||
char bufTime[50];
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
|
||||
struct _timeb tstruct;
|
||||
_ftime( &tstruct );
|
||||
|
||||
strftime(bufTime, sizeof(bufTime), "%Y-%m-%d.%H:%M:%S", timeinfo);
|
||||
|
||||
sprintf(buf, "%s,%u %s %s\n", bufTime, tstruct.millitm, t, s);
|
||||
fputs(buf,m_file);
|
||||
fflush(m_file);
|
||||
}
|
||||
}
|
||||
|
||||
void SSALog::error(const char* s)
|
||||
{
|
||||
if(m_dbgLev<DBGLEV_ERROR)
|
||||
return;
|
||||
write("ERROR", s);
|
||||
}
|
||||
void SSALog::info(const char* s)
|
||||
{
|
||||
if(m_dbgLev<DBGLEV_INFO)
|
||||
return;
|
||||
write("INFO", s);
|
||||
}
|
||||
void SSALog::debug(const char* s)
|
||||
{
|
||||
if(m_dbgLev<DBGLEV_DEBUG)
|
||||
return;
|
||||
write("DEBUG", s);
|
||||
}
|
38
libraries/SSA/src/c++/SSALib/ssalog.h
Normal file
38
libraries/SSA/src/c++/SSALib/ssalog.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef SSALOG_H
|
||||
#define SSALOG_H
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define DBGLEV_ERROR 1
|
||||
#define DBGLEV_INFO 2
|
||||
#define DBGLEV_DEBUG 3
|
||||
|
||||
class SSALog
|
||||
{
|
||||
private:
|
||||
static SSALog* __inst;
|
||||
static void createInst();
|
||||
|
||||
public:
|
||||
static SSALog* getInst();
|
||||
|
||||
private:
|
||||
int m_dbgLev;
|
||||
FILE* m_file;
|
||||
|
||||
private:
|
||||
SSALog();
|
||||
|
||||
public:
|
||||
virtual ~SSALog();
|
||||
void error(const char* s);
|
||||
void info(const char* s);
|
||||
void debug(const char* s);
|
||||
|
||||
private:
|
||||
void write(const char* t, const char* s);
|
||||
};
|
||||
|
||||
#endif
|
36
libraries/SSA/src/c++/SSALib/stdafx.cpp
Normal file
36
libraries/SSA/src/c++/SSALib/stdafx.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// SSALib.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
bool EndsWith(const string &str, const string& key)
|
||||
{
|
||||
size_t keylen = key.length();
|
||||
size_t strlen = str.length();
|
||||
if(keylen <= strlen)
|
||||
return string::npos != str.rfind(key.c_str(),strlen - keylen, keylen);
|
||||
else return false;
|
||||
}
|
||||
|
||||
string narrow( const wstring& str )
|
||||
{
|
||||
ostringstream stm;
|
||||
const ctype<char>& ctfacet = use_facet< ctype<char> >( stm.getloc() ) ;
|
||||
for( size_t i=0 ; i<str.size() ; ++i )
|
||||
stm << ctfacet.narrow( str[i], 0 ) ;
|
||||
return stm.str() ;
|
||||
}
|
||||
|
||||
wstring widen( const string& str )
|
||||
{
|
||||
wostringstream wstm ;
|
||||
const ctype<wchar_t>& ctfacet = use_facet< ctype<wchar_t> >( wstm.getloc() ) ;
|
||||
for( size_t i=0 ; i<str.size() ; ++i )
|
||||
wstm << ctfacet.widen( str[i] ) ;
|
||||
return wstm.str() ;
|
||||
}
|
23
libraries/SSA/src/c++/SSALib/stdafx.h
Normal file
23
libraries/SSA/src/c++/SSALib/stdafx.h
Normal file
@ -0,0 +1,23 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
|
||||
//STL
|
||||
#include <string>
|
||||
#include <Vector>
|
||||
#include <map>
|
||||
using namespace std;
|
||||
|
||||
bool EndsWith(const string &str, const string& key);
|
||||
string narrow( const wstring& str );
|
||||
wstring widen( const string& str );
|
157
libraries/SSA/src/c++/SSASolution.sln
Normal file
157
libraries/SSA/src/c++/SSASolution.sln
Normal file
@ -0,0 +1,157 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2027
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSALib", "SSALib\SSALib.vcxproj", "{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSAGetInfo", "SSAGetInfo\SSAGetInfo.vcxproj", "{EB1AC636-C625-4DCD-857B-333A29F3CD3E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSACreaLicenza", "SSACreaLicenza\SSACreaLicenza.vcproj", "{CFB99818-88B6-45B9-A2BA-09785781CFB6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62} = {FEC518FD-F211-4B43-BC8B-F93E74F6DB62}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSADll", "SSADll\SSADll.vcxproj", "{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDll", "TestDll\TestDll.vcproj", "{BBB86999-65EA-4F83-A1FD-917B0A38381A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C} = {7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SSAAgent", "SSAAgent\SSAAgent.vcxproj", "{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "contrib\cryptopp561\cryptlib.vcxproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
DLL-Import Debug|Win32 = DLL-Import Debug|Win32
|
||||
DLL-Import Debug|x64 = DLL-Import Debug|x64
|
||||
DLL-Import Release|Win32 = DLL-Import Release|Win32
|
||||
DLL-Import Release|x64 = DLL-Import Release|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Debug|x64.Build.0 = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|Win32.Build.0 = Release|Win32
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|x64.ActiveCfg = Release|x64
|
||||
{FEC518FD-F211-4B43-BC8B-F93E74F6DB62}.Release|x64.Build.0 = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Debug|x64.Build.0 = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|Win32.Build.0 = Release|Win32
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|x64.ActiveCfg = Release|x64
|
||||
{EB1AC636-C625-4DCD-857B-333A29F3CD3E}.Release|x64.Build.0 = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Debug|x64.Build.0 = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|Win32.Build.0 = Release|Win32
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|x64.ActiveCfg = Release|x64
|
||||
{CFB99818-88B6-45B9-A2BA-09785781CFB6}.Release|x64.Build.0 = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Debug|x64.Build.0 = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|Win32.Build.0 = Release|Win32
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|x64.ActiveCfg = Release|x64
|
||||
{7AA6DB69-5DD2-4BF5-B49B-2CC604F7790C}.Release|x64.Build.0 = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Debug|x64.Build.0 = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|Win32.Build.0 = Release|Win32
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|x64.ActiveCfg = Release|x64
|
||||
{BBB86999-65EA-4F83-A1FD-917B0A38381A}.Release|x64.Build.0 = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Debug|x64.Build.0 = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|Win32.Build.0 = Debug|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|Win32.ActiveCfg = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|Win32.Build.0 = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|Win32.Build.0 = Release|Win32
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|x64.ActiveCfg = Release|x64
|
||||
{2E6C788E-FB15-4DB4-A4F4-D385AE44B29D}.Release|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.ActiveCfg = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|Win32.Build.0 = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.ActiveCfg = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.Build.0 = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.ActiveCfg = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|Win32.Build.0 = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.ActiveCfg = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.Build.0 = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {46DEB11C-18B9-4842-ADE5-D7D016CFB9C5}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
33
libraries/SSA/src/c++/TestDll/ReadMe.txt
Normal file
33
libraries/SSA/src/c++/TestDll/ReadMe.txt
Normal file
@ -0,0 +1,33 @@
|
||||
========================================================================
|
||||
CONSOLE APPLICATION : TestDll Project Overview
|
||||
========================================================================
|
||||
|
||||
AppWizard has created this TestDll application for you.
|
||||
|
||||
This file contains a summary of what you will find in each of the files that
|
||||
make up your TestDll application.
|
||||
|
||||
|
||||
TestDll.vcproj
|
||||
This is the main project file for VC++ projects generated using an Application Wizard.
|
||||
It contains information about the version of Visual C++ that generated the file, and
|
||||
information about the platforms, configurations, and project features selected with the
|
||||
Application Wizard.
|
||||
|
||||
TestDll.cpp
|
||||
This is the main application source file.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other standard files:
|
||||
|
||||
StdAfx.h, StdAfx.cpp
|
||||
These files are used to build a precompiled header (PCH) file
|
||||
named TestDll.pch and a precompiled types file named StdAfx.obj.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Other notes:
|
||||
|
||||
AppWizard uses "TODO:" comments to indicate parts of the source code you
|
||||
should add to or customize.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
846
libraries/SSA/src/c++/TestDll/TestDll.cpp
Normal file
846
libraries/SSA/src/c++/TestDll/TestDll.cpp
Normal file
@ -0,0 +1,846 @@
|
||||
// TestDll.cpp : Defines the entry point for the console application.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include <windows.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ssadll.h"
|
||||
|
||||
//TODO EP: scrivere un test per verificare che un file di licenza prodotto sulla macchina "A" non sia
|
||||
//utilizzabile dalla macchina "B"
|
||||
|
||||
//TODO EP: scrivere un test che verifica il logout forzato di un client che non sento da tempo
|
||||
|
||||
//TODO EP: scrivere test per verificare accessi contemporanei
|
||||
|
||||
//quelli che devono andare MALE
|
||||
void testNegativi()
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
printf("TEST CHE DEVONO ANDARE MALE: \n");
|
||||
|
||||
printf("% 50s", "Verifica prodotto NON esistente....");
|
||||
ret = SSA_VerificaModulo("xxPROVAxx", "xxprova1xx");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Verifica modulo NON esistente....");
|
||||
ret = SSA_VerificaModulo("PROVA", "xxprova1xx");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Verifica prodotto scaduto....");
|
||||
ret = SSA_VerificaModulo("SCADUTO", "");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Verifica modulo scaduto....");
|
||||
ret = SSA_VerificaModulo("PROVA", "scaduto1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login a modulo NON esistente....");
|
||||
ret = SSA_Login(NULL, "xxPROVAxx");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ApriModulo modulo esistente (ma non loggato)....");
|
||||
ret = SSA_ApriModulo(NULL, "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ApriModulo modulo NON esistente....");
|
||||
ret = SSA_Login(NULL, "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
ret = SSA_ApriModulo(NULL, "xxprova1xx");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Ping utente non loggato....");
|
||||
ret = SSA_Ping("Cipolla");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//quelli che devono andare BENE
|
||||
void testPositivi()
|
||||
{
|
||||
int ret = 0;
|
||||
printf("\nQUELLI CHE DEVONO ANDARE BENE: \n");
|
||||
|
||||
printf("% 50s", "Verifica modulo esistente (PROVA)....");
|
||||
ret = SSA_VerificaModulo("PROVA", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Verifica modulo esistente (PrOvA)....");
|
||||
ret = SSA_VerificaModulo("PrOvA", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login a prodotto esistente....");
|
||||
ret = SSA_Login(NULL, "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Verifica numero serie....");
|
||||
int iret = SSA_NumeroSerie("PROVA");
|
||||
if(iret!=1234)
|
||||
{
|
||||
printf("ERRORE (%s ret=%d)", SSA_DecodificaUltimoErrore(), iret);
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ApriModulo a modulo esistente....");
|
||||
ret = SSA_ApriModulo(NULL, "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Ping....");
|
||||
ret = SSA_Ping(NULL);
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ChiudiModulo a modulo esistente....");
|
||||
ret = SSA_ChiudiModulo(NULL, "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Logout da prodotto esistente....");
|
||||
ret = SSA_Logout(NULL, "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Richiesta data scadenza prodotto....");
|
||||
ret = SSA_DataScadenza("PROVA", NULL);
|
||||
if(ret!=29991231)
|
||||
{
|
||||
printf("ERRORE (%s) - %d", SSA_DecodificaUltimoErrore(), ret);
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Richiesta data scadenza modulo....");
|
||||
ret = SSA_DataScadenza("PROVA", "prova1");
|
||||
if(ret!=29991231)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Richiesta num max utenti prodotto....");
|
||||
ret = SSA_NumMaxUtenti("PROVA", NULL);
|
||||
if(ret!=3)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Richiesta num max utenti modulo....");
|
||||
ret = SSA_NumMaxUtenti("PROVA", "prova1");
|
||||
if(ret!=1)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
void generaFileModuli()
|
||||
{
|
||||
FILE* f = fopen("moduli.txt", "w");
|
||||
|
||||
if(f==NULL)
|
||||
return;
|
||||
|
||||
fputs("<PRODOTTO nome=\"PROVA\" data-scad=\"2999-12-31\" num-abilitazioni=\"3\" numero-serie=\"1234\" >\n", f);
|
||||
fputs("<MODULO nome=\"prova1\" data-scad=\"2999-12-31\" num-abilitazioni=\"1\" />\n", f);
|
||||
fputs("<MODULO nome=\"prova2\" data-scad=\"2999-12-31\" num-abilitazioni=\"2\" />\n", f);
|
||||
fputs("<MODULO nome=\"scaduto1\" data-scad=\"2011-08-12\" num-abilitazioni=\"2\" />\n", f);
|
||||
fputs("</PRODOTTO>\n", f);
|
||||
fputs("<PRODOTTO nome=\"SCADUTO\" data-scad=\"2011-08-12\" num-abilitazioni=\"-1\" numero-serie=\"ABCD\" >\n", f);
|
||||
fputs("</PRODOTTO>\n", f);
|
||||
fputs("<PRODOTTO nome=\"PIVA\" data-scad=\"2999-12-31\" num-abilitazioni=\"-1\" numero-serie=\"ABCD\" piva=\"994455\">\n", f);
|
||||
fputs("<MODULO nome=\"MP1\" data-scad=\"2999-12-31\" num-abilitazioni=\"1\" />\n", f);
|
||||
fputs("</PRODOTTO>\n", f);
|
||||
fputs("<PRODOTTO nome=\"PIVA2\" data-scad=\"2999-12-31\" num-abilitazioni=\"-1\" numero-serie=\"ABCD\" piva=\"12399945:44556689\">\n", f);
|
||||
fputs("<MODULO nome=\"MP2\" data-scad=\"2999-12-31\" num-abilitazioni=\"1\" />\n", f);
|
||||
fputs("</PRODOTTO>\n", f);
|
||||
|
||||
fflush(f);
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
void testMaxUteProdotto()
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
printf("\nTEST MAX UTE PRODOTTO: \n");
|
||||
|
||||
printf("% 50s", "Login 1....");
|
||||
ret = SSA_Login("utente1", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login 2....");
|
||||
ret = SSA_Login("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login 3....");
|
||||
ret = SSA_Login("utente3", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//questo deve andare male
|
||||
printf("% 50s", "Login 4....");
|
||||
ret = SSA_Login("utente4", "PROVA");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE");
|
||||
}
|
||||
else
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
//questo deve andare bene perche' gia' loggato
|
||||
printf("% 50s", "Login 3....");
|
||||
ret = SSA_Login("utente3", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Logout 2....");
|
||||
ret = SSA_Logout("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//adesso devo potermi loggare
|
||||
printf("% 50s", "Login 4....");
|
||||
ret = SSA_Login("utente4", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
|
||||
ret = SSA_Logout("utente1", "PROVA");
|
||||
ret = SSA_Logout("utente3", "PROVA");
|
||||
ret = SSA_Logout("utente4", "PROVA");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
void testMaxUteModulo()
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
printf("\nTEST MAX UTE MODULO: \n");
|
||||
|
||||
printf("% 50s", "Login 1....");
|
||||
ret = SSA_Login("utente1", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login 2....");
|
||||
ret = SSA_Login("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//deve darmi errore
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE");
|
||||
}
|
||||
else
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
|
||||
printf("% 50s", "ChiudiModulo utente1....");
|
||||
ret = SSA_ChiudiModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
ret = SSA_Logout("utente2", "PROVA");
|
||||
|
||||
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
ret = SSA_Logout("utente1", "PROVA");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void testForceLogout()
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
printf("\nTEST FORCE LOGOUT: \n");
|
||||
|
||||
printf("% 50s", "Login 1....");
|
||||
ret = SSA_Login("utente1", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
printf("% 50s", "Login 2....");
|
||||
ret = SSA_Login("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//deve darmi errore
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE");
|
||||
}
|
||||
else
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
//aspetto un minuto
|
||||
time_t rawtime;
|
||||
struct tm * timeinfo;
|
||||
char bufTime[50];
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
strftime(bufTime, sizeof(bufTime), "%H:%M:%S", timeinfo);
|
||||
|
||||
printf("% 40s (%s)\n", "Aspetto 1 minuto....", bufTime);
|
||||
Sleep(60000);
|
||||
|
||||
//deve darmi ancora errore
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE");
|
||||
}
|
||||
else
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
|
||||
//aspetto 5 minuti
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
strftime(bufTime, sizeof(bufTime), "%H:%M:%S", timeinfo);
|
||||
|
||||
printf("% 40s (%s)\n", "Aspetto 5 minuti....", bufTime);
|
||||
Sleep(300000);
|
||||
|
||||
//deve non deve + darmi errore (perche' faccio logout di utente1)
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK");
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%s) -- OK perche' c'e' il ping automatico", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
//questo deve darmi errore perche' utente sloggato
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE -- OK perche' c'e' il ping automatico");
|
||||
}
|
||||
else
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
printf("\n");
|
||||
|
||||
|
||||
ret = SSA_Logout("utente1", "PROVA");
|
||||
ret = SSA_Logout("utente2", "PROVA");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void generaLicenzaDaZero()
|
||||
{
|
||||
//genero il file ssax
|
||||
system("SSAGetInfo.exe");
|
||||
|
||||
//genero il file moduli.txt
|
||||
generaFileModuli();
|
||||
|
||||
//genero il file ssa
|
||||
system("SSACreaLicenza");
|
||||
}
|
||||
|
||||
void test(int loop, bool pause, int sleep)
|
||||
{
|
||||
int loopCount = 0;
|
||||
|
||||
while(loopCount<loop)
|
||||
{
|
||||
loopCount++;
|
||||
printf("loop #%d\n", loopCount);
|
||||
|
||||
testNegativi();
|
||||
|
||||
if(pause)
|
||||
system("pause");
|
||||
|
||||
testPositivi();
|
||||
|
||||
if(pause)
|
||||
system("pause");
|
||||
|
||||
testMaxUteProdotto();
|
||||
|
||||
if(pause)
|
||||
system("pause");
|
||||
|
||||
testMaxUteModulo();
|
||||
|
||||
if(loop==1)
|
||||
testForceLogout();
|
||||
|
||||
if(sleep>0)
|
||||
{
|
||||
printf("Sleep: %d sec\n", sleep);
|
||||
Sleep(sleep*1000);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void testPingTimeout()
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
//Login utente 1 (deve andare bene)
|
||||
printf("% 50s", "Login 1....");
|
||||
ret = SSA_Login("utente1", "PROVA");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
|
||||
printf("\n");
|
||||
|
||||
//Login utente 2 (deve andare bene)
|
||||
printf("% 50s", "Login 2....");
|
||||
ret = SSA_Login("utente2", "PROVA");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE");
|
||||
|
||||
printf("\n");
|
||||
|
||||
//Apri modulo prova1 utente 1 (deve andare bene)
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//Apri modulo prova1 utente 1 (deve andare bene ANCORA)
|
||||
printf("% 50s", "ApriModulo utente1....");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
ret = SSA_ApriModulo("utente1", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
//Logout utente 1
|
||||
printf("% 50s", "Logout utente1....");
|
||||
ret = SSA_Logout("utente1", "PROVA");
|
||||
ret = SSA_Logout("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
/*
|
||||
//Apri modulo prova2 utente2 (deve andare bene)
|
||||
printf("% 50s", "ApriModulo utente2....");
|
||||
ret = SSA_ApriModulo("utente2", "prova2");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
while(true)
|
||||
{
|
||||
//Apri modulo prova1 utente2 (deve andare male, fino al timeout ping utente 1)
|
||||
printf("% 50s", "ApriModulo utente2....(deve andare male, fino al timeout ping utente 1)");
|
||||
ret = SSA_ApriModulo("utente2", "prova1");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%s)", SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK");
|
||||
printf("\n");
|
||||
|
||||
Sleep(10000);
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
void testPiva()
|
||||
{
|
||||
printf("TEST PARTITA IVA! \n");
|
||||
|
||||
int ret = 0;
|
||||
|
||||
//Login utente 1 (deve andare bene)
|
||||
printf("%s\n", "Login Prodotto senza PIVA (deve andare bene)");
|
||||
ret = SSA_Login("utente1", "PROVA");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Login utente 1 (deve andare male)
|
||||
printf("%s\n", "Login prodotto con PIVA sbagliata P_IVA 999 (deve andare male)");
|
||||
ret = SSA_Login1("utente1", "P_IVA", "999");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Login utente 1 (deve andare bene)
|
||||
printf("%s\n", "Login prodotto con PIVA gista P_IVA 12399945 (deve andare bene)");
|
||||
ret = SSA_Login1("utente2", "P_IVA", "12399945");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Logout utente 1
|
||||
printf("%s\n", "Logout utente1....");
|
||||
ret = SSA_Logout("utente1", "PROVA");
|
||||
ret = SSA_Logout("utente2", "PROVA");
|
||||
if(ret != 0)
|
||||
{
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare male)
|
||||
printf("%s\n", "Verifica modulo con PIVA errata P_IVA 999 (deve andare male)");
|
||||
ret = SSA_VerificaModulo1("P_IVA", "MP1", "999");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare bene)
|
||||
printf("%s\n", "Verifica modulo con PIVA giusta P_IVA 12399945 (deve andare bene)");
|
||||
ret = SSA_VerificaModulo1("P_IVA", "MP1", "12399945");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare male)
|
||||
printf("%s\n", "Verifica modulo con PIVA errata P_IVA2 999 (deve andare male)");
|
||||
ret = SSA_VerificaModulo1("P_IVA2", "MP2", "999");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare bene)
|
||||
printf("%s\n", "Verifica modulo con PIVA giusta P_IVA2 12399945 (deve andare bene)");
|
||||
ret = SSA_VerificaModulo1("P_IVA2", "MP2", "12399945");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare bene)
|
||||
printf("%s\n", "Verifica modulo con PIVA giusta P_IVA2 44556689 (deve andare bene)");
|
||||
ret = SSA_VerificaModulo1("P_IVA2", "MP2", "44556689");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
//Verifica modulo (deve andare bene)
|
||||
printf("%s\n", "Verifica modulo con PIVA giusta P_IVA2 987654321 (deve andare bene)");
|
||||
ret = SSA_VerificaModulo1("P_IVA2", "MP2", "987654321");
|
||||
if(ret == 0)
|
||||
{
|
||||
printf("OK (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
}
|
||||
else
|
||||
printf("ERRORE (%d - %s)", ret, SSA_DecodificaUltimoErrore());
|
||||
|
||||
printf("\n\n");
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
bool pause = false;
|
||||
bool generaLicenza = false;
|
||||
int loop = 1;
|
||||
int sleep=0;
|
||||
|
||||
for(int i=1; i<argc; i++)
|
||||
{
|
||||
if(strcmp(argv[i], "-pause")==0)
|
||||
pause=true;
|
||||
else if(strcmp(argv[i], "-generalicenza")==0)
|
||||
generaLicenza=true;
|
||||
else if(strcmp(argv[i], "-loop")==0)
|
||||
loop=atoi(argv[++i]);
|
||||
else if(strcmp(argv[i], "-sleep")==0)
|
||||
sleep=atoi(argv[++i]);
|
||||
}
|
||||
|
||||
if(generaLicenza)
|
||||
generaLicenzaDaZero();
|
||||
|
||||
//test(loop, pause, sleep);
|
||||
//testPingTimeout();
|
||||
testPiva();
|
||||
|
||||
if(pause)
|
||||
system("pause");
|
||||
}
|
400
libraries/SSA/src/c++/TestDll/TestDll.vcproj
Normal file
400
libraries/SSA/src/c++/TestDll/TestDll.vcproj
Normal file
@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8,00"
|
||||
Name="TestDll"
|
||||
ProjectGUID="{BBB86999-65EA-4F83-A1FD-917B0A38381A}"
|
||||
RootNamespace="TestDll"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSADll"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSADll"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\SSADll"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\SSADll"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\stdafx.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="1"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\TestDll.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\stdafx.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
40
libraries/SSA/src/c++/TestDll/TestDll.vcxproj
Normal file
40
libraries/SSA/src/c++/TestDll/TestDll.vcxproj
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Template|Win32">
|
||||
<Configuration>Template</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Label="Globals">
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
|
||||
<ItemDefinitionGroup></ItemDefinitionGroup>
|
||||
<ItemGroup></ItemGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
3
libraries/SSA/src/c++/TestDll/TestDll.vcxproj.filters
Normal file
3
libraries/SSA/src/c++/TestDll/TestDll.vcxproj.filters
Normal file
@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
5
libraries/SSA/src/c++/TestDll/stdafx.cpp
Normal file
5
libraries/SSA/src/c++/TestDll/stdafx.cpp
Normal file
@ -0,0 +1,5 @@
|
||||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// TestDll.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
15
libraries/SSA/src/c++/TestDll/stdafx.h
Normal file
15
libraries/SSA/src/c++/TestDll/stdafx.h
Normal file
@ -0,0 +1,15 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
|
BIN
libraries/SSA/src/c++/UpgradeLog.htm
Normal file
BIN
libraries/SSA/src/c++/UpgradeLog.htm
Normal file
Binary file not shown.
139
libraries/SSA/src/c++/contrib/cryptopp561/3way.cpp
Normal file
139
libraries/SSA/src/c++/contrib/cryptopp561/3way.cpp
Normal file
@ -0,0 +1,139 @@
|
||||
// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c
|
||||
// The original code and all modifications are in the public domain.
|
||||
|
||||
#include "pch.h"
|
||||
#include "3way.h"
|
||||
#include "misc.h"
|
||||
|
||||
NAMESPACE_BEGIN(CryptoPP)
|
||||
|
||||
void ThreeWay_TestInstantiations()
|
||||
{
|
||||
ThreeWay::Encryption x1;
|
||||
ThreeWay::Decryption x2;
|
||||
}
|
||||
|
||||
static const word32 START_E = 0x0b0b; // round constant of first encryption round
|
||||
static const word32 START_D = 0xb1b1; // round constant of first decryption round
|
||||
static const word32 RC_MODULUS = 0x11011;
|
||||
|
||||
static inline word32 reverseBits(word32 a)
|
||||
{
|
||||
a = ((a & 0xAAAAAAAA) >> 1) | ((a & 0x55555555) << 1);
|
||||
a = ((a & 0xCCCCCCCC) >> 2) | ((a & 0x33333333) << 2);
|
||||
return ((a & 0xF0F0F0F0) >> 4) | ((a & 0x0F0F0F0F) << 4);
|
||||
}
|
||||
|
||||
#define mu(a0, a1, a2) \
|
||||
{ \
|
||||
a1 = reverseBits(a1); \
|
||||
word32 t = reverseBits(a0); \
|
||||
a0 = reverseBits(a2); \
|
||||
a2 = t; \
|
||||
}
|
||||
|
||||
#define pi_gamma_pi(a0, a1, a2) \
|
||||
{ \
|
||||
word32 b0, b2; \
|
||||
b2 = rotlFixed(a2, 1U); \
|
||||
b0 = rotlFixed(a0, 22U); \
|
||||
a0 = rotlFixed(b0 ^ (a1|(~b2)), 1U); \
|
||||
a2 = rotlFixed(b2 ^ (b0|(~a1)), 22U);\
|
||||
a1 ^= (b2|(~b0)); \
|
||||
}
|
||||
|
||||
// thanks to Paulo Barreto for this optimized theta()
|
||||
#define theta(a0, a1, a2) \
|
||||
{ \
|
||||
word32 b0, b1, c; \
|
||||
c = a0 ^ a1 ^ a2; \
|
||||
c = rotlFixed(c, 16U) ^ rotlFixed(c, 8U); \
|
||||
b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); \
|
||||
b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); \
|
||||
a0 ^= c ^ b0; \
|
||||
a1 ^= c ^ b1; \
|
||||
a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); \
|
||||
}
|
||||
|
||||
#define rho(a0, a1, a2) \
|
||||
{ \
|
||||
theta(a0, a1, a2); \
|
||||
pi_gamma_pi(a0, a1, a2); \
|
||||
}
|
||||
|
||||
void ThreeWay::Base::UncheckedSetKey(const byte *uk, unsigned int length, const NameValuePairs ¶ms)
|
||||
{
|
||||
AssertValidKeyLength(length);
|
||||
|
||||
m_rounds = GetRoundsAndThrowIfInvalid(params, this);
|
||||
|
||||
for (unsigned int i=0; i<3; i++)
|
||||
m_k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
|
||||
|
||||
if (!IsForwardTransformation())
|
||||
{
|
||||
theta(m_k[0], m_k[1], m_k[2]);
|
||||
mu(m_k[0], m_k[1], m_k[2]);
|
||||
m_k[0] = ByteReverse(m_k[0]);
|
||||
m_k[1] = ByteReverse(m_k[1]);
|
||||
m_k[2] = ByteReverse(m_k[2]);
|
||||
}
|
||||
}
|
||||
|
||||
void ThreeWay::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
|
||||
{
|
||||
typedef BlockGetAndPut<word32, BigEndian> Block;
|
||||
|
||||
word32 a0, a1, a2;
|
||||
Block::Get(inBlock)(a0)(a1)(a2);
|
||||
|
||||
word32 rc = START_E;
|
||||
|
||||
for(unsigned i=0; i<m_rounds; i++)
|
||||
{
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
rho(a0, a1, a2);
|
||||
|
||||
rc <<= 1;
|
||||
if (rc&0x10000) rc ^= 0x11011;
|
||||
}
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
theta(a0, a1, a2);
|
||||
|
||||
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
|
||||
}
|
||||
|
||||
void ThreeWay::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
|
||||
{
|
||||
typedef BlockGetAndPut<word32, LittleEndian> Block;
|
||||
|
||||
word32 a0, a1, a2;
|
||||
Block::Get(inBlock)(a0)(a1)(a2);
|
||||
|
||||
word32 rc = START_D;
|
||||
|
||||
mu(a0, a1, a2);
|
||||
for(unsigned i=0; i<m_rounds; i++)
|
||||
{
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
rho(a0, a1, a2);
|
||||
|
||||
rc <<= 1;
|
||||
if (rc&0x10000) rc ^= 0x11011;
|
||||
}
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
theta(a0, a1, a2);
|
||||
mu(a0, a1, a2);
|
||||
|
||||
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
|
||||
}
|
||||
|
||||
NAMESPACE_END
|
53
libraries/SSA/src/c++/contrib/cryptopp561/3way.h
Normal file
53
libraries/SSA/src/c++/contrib/cryptopp561/3way.h
Normal file
@ -0,0 +1,53 @@
|
||||
#ifndef CRYPTOPP_THREEWAY_H
|
||||
#define CRYPTOPP_THREEWAY_H
|
||||
|
||||
/** \file
|
||||
*/
|
||||
|
||||
#include "seckey.h"
|
||||
#include "secblock.h"
|
||||
|
||||
NAMESPACE_BEGIN(CryptoPP)
|
||||
|
||||
//! _
|
||||
struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11>
|
||||
{
|
||||
static const char *StaticAlgorithmName() {return "3-Way";}
|
||||
};
|
||||
|
||||
/// <a href="http://www.weidai.com/scan-mirror/cs.html#3-Way">3-Way</a>
|
||||
class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
|
||||
{
|
||||
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<ThreeWay_Info>
|
||||
{
|
||||
public:
|
||||
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms);
|
||||
|
||||
protected:
|
||||
unsigned int m_rounds;
|
||||
FixedSizeSecBlock<word32, 3> m_k;
|
||||
};
|
||||
|
||||
class CRYPTOPP_NO_VTABLE Enc : public Base
|
||||
{
|
||||
public:
|
||||
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
|
||||
};
|
||||
|
||||
class CRYPTOPP_NO_VTABLE Dec : public Base
|
||||
{
|
||||
public:
|
||||
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
|
||||
};
|
||||
|
||||
public:
|
||||
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
|
||||
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
|
||||
};
|
||||
|
||||
typedef ThreeWay::Encryption ThreeWayEncryption;
|
||||
typedef ThreeWay::Decryption ThreeWayDecryption;
|
||||
|
||||
NAMESPACE_END
|
||||
|
||||
#endif
|
1634
libraries/SSA/src/c++/contrib/cryptopp561/Doxyfile
Normal file
1634
libraries/SSA/src/c++/contrib/cryptopp561/Doxyfile
Normal file
File diff suppressed because it is too large
Load Diff
194
libraries/SSA/src/c++/contrib/cryptopp561/GNUmakefile
Normal file
194
libraries/SSA/src/c++/contrib/cryptopp561/GNUmakefile
Normal file
@ -0,0 +1,194 @@
|
||||
CXXFLAGS = -DNDEBUG -g -O2
|
||||
#CXXFLAGS = -g
|
||||
# -fPIC is supported. Please report any breakage of -fPIC as a bug.
|
||||
# CXXFLAGS += -fPIC
|
||||
# the following options reduce code size, but breaks link or makes link very slow on some systems
|
||||
# CXXFLAGS += -ffunction-sections -fdata-sections
|
||||
# LDFLAGS += -Wl,--gc-sections
|
||||
ARFLAGS = -cr # ar needs the dash on OpenBSD
|
||||
RANLIB = ranlib
|
||||
CP = cp
|
||||
MKDIR = mkdir
|
||||
EGREP = egrep
|
||||
UNAME = $(shell uname)
|
||||
ISX86 = $(shell uname -m | $(EGREP) -c "i.86|x86|i86|amd64")
|
||||
|
||||
# Default prefix for make install
|
||||
ifeq ($(PREFIX),)
|
||||
PREFIX = /usr
|
||||
endif
|
||||
|
||||
ifeq ($(CXX),gcc) # for some reason CXX is gcc on cygwin 1.1.4
|
||||
CXX = g++
|
||||
endif
|
||||
|
||||
ifeq ($(ISX86),1)
|
||||
|
||||
GCC42_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -c "^gcc version (4.[2-9]|[5-9])")
|
||||
INTEL_COMPILER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\)")
|
||||
ICC111_OR_LATER = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "\(ICC\) ([2-9][0-9]|1[2-9]|11\.[1-9])")
|
||||
IS_SUN_CC = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun")
|
||||
GAS210_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
|
||||
GAS217_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.1[7-9]|2\.[2-9]|[3-9])")
|
||||
GAS219_OR_LATER = $(shell echo "" | $(AS) -v 2>&1 | $(EGREP) -c "GNU assembler version (2\.19|2\.[2-9]|[3-9])")
|
||||
ISMINGW = $(shell $(CXX) --version 2>&1 | $(EGREP) -c "mingw")
|
||||
|
||||
ifneq ($(GCC42_OR_LATER),0)
|
||||
ifeq ($(UNAME),Darwin)
|
||||
CXXFLAGS += -arch x86_64 -arch i386
|
||||
else
|
||||
CXXFLAGS += -march=native
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(INTEL_COMPILER),0)
|
||||
CXXFLAGS += -wd68 -wd186 -wd279 -wd327
|
||||
ifeq ($(ICC111_OR_LATER),0)
|
||||
# "internal error: backend signals" occurs on some x86 inline assembly with ICC 9 and some x64 inline assembly with ICC 11.0
|
||||
# if you want to use Crypto++'s assembly code with ICC, try enabling it on individual files
|
||||
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(GAS210_OR_LATER),0) # .intel_syntax wasn't supported until GNU assembler 2.10
|
||||
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
||||
else
|
||||
ifeq ($(GAS217_OR_LATER),0)
|
||||
CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
|
||||
else
|
||||
ifeq ($(GAS219_OR_LATER),0)
|
||||
CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
|
||||
endif
|
||||
endif
|
||||
ifeq ($(UNAME),SunOS)
|
||||
CXXFLAGS += -Wa,--divide # allow use of "/" operator
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(ISMINGW),1)
|
||||
LDLIBS += -lws2_32
|
||||
endif
|
||||
|
||||
endif # ISX86
|
||||
|
||||
ifeq ($(UNAME),) # for DJGPP, where uname doesn't exist
|
||||
CXXFLAGS += -mbnu210
|
||||
else
|
||||
CXXFLAGS += -pipe
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME),Linux)
|
||||
LDFLAGS += -pthread
|
||||
ifneq ($(shell uname -i | $(EGREP) -c "(_64|d64)"),0)
|
||||
M32OR64 = -m64
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME),Darwin)
|
||||
AR = libtool
|
||||
ARFLAGS = -static -o
|
||||
CXX = c++
|
||||
IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932)
|
||||
ifeq ($(IS_GCC2),1)
|
||||
CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
|
||||
LDLIBS += -lstdc++
|
||||
LDFLAGS += -flat_namespace -undefined suppress -m
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME),SunOS)
|
||||
LDLIBS += -lnsl -lsocket
|
||||
M32OR64 = -m$(shell isainfo -b)
|
||||
endif
|
||||
|
||||
ifneq ($(IS_SUN_CC),0) # override flags for CC Sun C++ compiler
|
||||
CXXFLAGS = -DNDEBUG -O -g0 -native -template=no%extdef $(M32OR64)
|
||||
LDFLAGS =
|
||||
AR = $(CXX)
|
||||
ARFLAGS = -xar -o
|
||||
RANLIB = true
|
||||
SUN_CC10_BUGGY = $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])")
|
||||
ifneq ($(SUN_CC10_BUGGY),0)
|
||||
# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010
|
||||
# remove it if you get "already had a body defined" errors in vector.cc
|
||||
CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
|
||||
endif
|
||||
endif
|
||||
|
||||
SRCS = $(wildcard *.cpp)
|
||||
ifeq ($(SRCS),) # workaround wildcard function bug in GNU Make 3.77
|
||||
SRCS = $(shell echo *.cpp)
|
||||
endif
|
||||
|
||||
OBJS = $(SRCS:.cpp=.o)
|
||||
# test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?)
|
||||
TESTOBJS = bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o
|
||||
LIBOBJS = $(filter-out $(TESTOBJS),$(OBJS))
|
||||
|
||||
DLLSRCS = algebra.cpp algparam.cpp asn.cpp basecode.cpp cbcmac.cpp channels.cpp cryptlib.cpp des.cpp dessp.cpp dh.cpp dll.cpp dsa.cpp ec2n.cpp eccrypto.cpp ecp.cpp eprecomp.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gf2n.cpp gfpcrypt.cpp hex.cpp hmac.cpp integer.cpp iterhash.cpp misc.cpp modes.cpp modexppc.cpp mqueue.cpp nbtheory.cpp oaep.cpp osrng.cpp pch.cpp pkcspad.cpp pubkey.cpp queue.cpp randpool.cpp rdtables.cpp rijndael.cpp rng.cpp rsa.cpp sha.cpp simple.cpp skipjack.cpp strciphr.cpp trdlocal.cpp
|
||||
DLLOBJS = $(DLLSRCS:.cpp=.export.o)
|
||||
LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
|
||||
TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
|
||||
DLLTESTOBJS = dlltest.dllonly.o
|
||||
|
||||
all: cryptest.exe
|
||||
|
||||
test: cryptest.exe
|
||||
./cryptest.exe v
|
||||
|
||||
clean:
|
||||
$(RM) cryptest.exe libcryptopp.a $(LIBOBJS) $(TESTOBJS) cryptopp.dll libcryptopp.dll.a libcryptopp.import.a cryptest.import.exe dlltest.exe $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
|
||||
|
||||
install:
|
||||
$(MKDIR) -p $(PREFIX)/include/cryptopp $(PREFIX)/lib $(PREFIX)/bin
|
||||
$(CP) *.h $(PREFIX)/include/cryptopp
|
||||
$(CP) *.a $(PREFIX)/lib
|
||||
$(CP) *.so $(PREFIX)/lib
|
||||
$(CP) *.exe $(PREFIX)/bin
|
||||
|
||||
libcryptopp.a: $(LIBOBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
libcryptopp.so: $(LIBOBJS)
|
||||
$(CXX) -shared -o $@ $(LIBOBJS)
|
||||
|
||||
cryptest.exe: libcryptopp.a $(TESTOBJS)
|
||||
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
nolib: $(OBJS) # makes it faster to test changes
|
||||
$(CXX) -o ct $(CXXFLAGS) $(OBJS) $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
dll: cryptest.import.exe dlltest.exe
|
||||
|
||||
cryptopp.dll: $(DLLOBJS)
|
||||
$(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
|
||||
|
||||
libcryptopp.import.a: $(LIBIMPORTOBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
cryptest.import.exe: cryptopp.dll libcryptopp.import.a $(TESTIMPORTOBJS)
|
||||
$(CXX) -o $@ $(CXXFLAGS) $(TESTIMPORTOBJS) -L. -lcryptopp.dll -lcryptopp.import $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
|
||||
$(CXX) -o $@ $(CXXFLAGS) $(DLLTESTOBJS) -L. -lcryptopp.dll $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
adhoc.cpp: adhoc.cpp.proto
|
||||
ifeq ($(wildcard adhoc.cpp),)
|
||||
cp adhoc.cpp.proto adhoc.cpp
|
||||
else
|
||||
touch adhoc.cpp
|
||||
endif
|
||||
|
||||
%.dllonly.o : %.cpp
|
||||
$(CXX) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c $< -o $@
|
||||
|
||||
%.import.o : %.cpp
|
||||
$(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@
|
||||
|
||||
%.export.o : %.cpp
|
||||
$(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@
|
||||
|
||||
%.o : %.cpp
|
||||
$(CXX) $(CXXFLAGS) -c $<
|
62
libraries/SSA/src/c++/contrib/cryptopp561/License.txt
Normal file
62
libraries/SSA/src/c++/contrib/cryptopp561/License.txt
Normal file
@ -0,0 +1,62 @@
|
||||
Compilation Copyright (c) 1995-2010 by Wei Dai. All rights reserved.
|
||||
This copyright applies only to this software distribution package
|
||||
as a compilation, and does not imply a copyright on any particular
|
||||
file in the package.
|
||||
|
||||
All individual files in this compilation are placed in the public domain by
|
||||
Wei Dai and other contributors.
|
||||
|
||||
I would like to thank the following authors for placing their works into
|
||||
the public domain:
|
||||
|
||||
Joan Daemen - 3way.cpp
|
||||
Leonard Janke - cast.cpp, seal.cpp
|
||||
Steve Reid - cast.cpp
|
||||
Phil Karn - des.cpp
|
||||
Andrew M. Kuchling - md2.cpp, md4.cpp
|
||||
Colin Plumb - md5.cpp
|
||||
Seal Woods - rc6.cpp
|
||||
Chris Morgan - rijndael.cpp
|
||||
Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
|
||||
Richard De Moliner - safer.cpp
|
||||
Matthew Skala - twofish.cpp
|
||||
Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
|
||||
|
||||
Permission to use, copy, modify, and distribute this compilation for
|
||||
any purpose, including commercial applications, is hereby granted
|
||||
without fee, subject to the following restrictions:
|
||||
|
||||
1. Any copy or modification of this compilation in any form, except
|
||||
in object code form as part of an application software, must include
|
||||
the above copyright notice and this license.
|
||||
|
||||
2. Users of this software agree that any modification or extension
|
||||
they provide to Wei Dai will be considered public domain and not
|
||||
copyrighted unless it includes an explicit copyright notice.
|
||||
|
||||
3. Wei Dai makes no warranty or representation that the operation of the
|
||||
software in this compilation will be error-free, and Wei Dai is under no
|
||||
obligation to provide any services, by way of maintenance, update, or
|
||||
otherwise. THE SOFTWARE AND ANY DOCUMENTATION ARE PROVIDED "AS IS"
|
||||
WITHOUT EXPRESS OR IMPLIED WARRANTY INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. IN NO EVENT WILL WEI DAI OR ANY OTHER CONTRIBUTOR BE LIABLE FOR
|
||||
DIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
4. Users will not use Wei Dai or any other contributor's name in any
|
||||
publicity or advertising, without prior written consent in each case.
|
||||
|
||||
5. Export of this software from the United States may require a
|
||||
specific license from the United States Government. It is the
|
||||
responsibility of any person or organization contemplating export
|
||||
to obtain such a license before exporting.
|
||||
|
||||
6. Certain parts of this software may be protected by patents. It
|
||||
is the users' responsibility to obtain the appropriate
|
||||
licenses before using those parts.
|
||||
|
||||
If this compilation is used in object code form in an application
|
||||
software, acknowledgement of the author is not required but would be
|
||||
appreciated. The contribution of any useful modifications or extensions
|
||||
to Wei Dai is not required but would also be appreciated.
|
444
libraries/SSA/src/c++/contrib/cryptopp561/Readme.txt
Normal file
444
libraries/SSA/src/c++/contrib/cryptopp561/Readme.txt
Normal file
@ -0,0 +1,444 @@
|
||||
Crypto++: a C++ Class Library of Cryptographic Schemes
|
||||
Version 5.6.1 (8/9/2010, SVN r520)
|
||||
|
||||
Crypto++ Library is a free C++ class library of cryptographic schemes.
|
||||
Currently the library contains the following algorithms:
|
||||
|
||||
algorithm type name
|
||||
|
||||
authenticated encryption schemes GCM, CCM, EAX
|
||||
|
||||
high speed stream ciphers Panama, Sosemanuk, Salsa20, XSalsa20
|
||||
|
||||
AES and AES candidates AES (Rijndael), RC6, MARS, Twofish, Serpent,
|
||||
CAST-256
|
||||
|
||||
IDEA, Triple-DES (DES-EDE2 and DES-EDE3),
|
||||
other block ciphers Camellia, SEED, RC5, Blowfish, TEA, XTEA,
|
||||
Skipjack, SHACAL-2
|
||||
|
||||
block cipher modes of operation ECB, CBC, CBC ciphertext stealing (CTS),
|
||||
CFB, OFB, counter mode (CTR)
|
||||
|
||||
message authentication codes VMAC, HMAC, GMAC, CMAC, CBC-MAC, DMAC,
|
||||
Two-Track-MAC
|
||||
|
||||
SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, and
|
||||
hash functions SHA-512), Tiger, WHIRLPOOL, RIPEMD-128,
|
||||
RIPEMD-256, RIPEMD-160, RIPEMD-320
|
||||
|
||||
RSA, DSA, ElGamal, Nyberg-Rueppel (NR),
|
||||
public-key cryptography Rabin-Williams (RW), LUC, LUCELG,
|
||||
DLIES (variants of DHAES), ESIGN
|
||||
|
||||
padding schemes for public-key PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363
|
||||
systems EMSA2 and EMSA5
|
||||
|
||||
Diffie-Hellman (DH), Unified Diffie-Hellman
|
||||
key agreement schemes (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF,
|
||||
XTR-DH
|
||||
|
||||
elliptic curve cryptography ECDSA, ECNR, ECIES, ECDH, ECMQV
|
||||
|
||||
insecure or obsolescent MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL
|
||||
algorithms retained for backwards 3.0, WAKE, WAKE-OFB, DESX (DES-XEX3), RC2,
|
||||
compatibility and historical SAFER, 3-WAY, GOST, SHARK, CAST-128, Square
|
||||
value
|
||||
|
||||
Other features include:
|
||||
|
||||
* pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool
|
||||
* password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5,
|
||||
PBKDF from PKCS #12 appendix B
|
||||
* Shamir's secret sharing scheme and Rabin's information dispersal algorithm
|
||||
(IDA)
|
||||
* fast multi-precision integer (bignum) and polynomial operations
|
||||
* finite field arithmetics, including GF(p) and GF(2^n)
|
||||
* prime number generation and verification
|
||||
* useful non-cryptographic algorithms
|
||||
+ DEFLATE (RFC 1951) compression/decompression with gzip (RFC 1952) and
|
||||
zlib (RFC 1950) format support
|
||||
+ hex, base-32, and base-64 coding/decoding
|
||||
+ 32-bit CRC and Adler32 checksum
|
||||
* class wrappers for these operating system features (optional):
|
||||
+ high resolution timers on Windows, Unix, and Mac OS
|
||||
+ Berkeley and Windows style sockets
|
||||
+ Windows named pipes
|
||||
+ /dev/random, /dev/urandom, /dev/srandom
|
||||
+ Microsoft's CryptGenRandom on Windows
|
||||
* A high level interface for most of the above, using a filter/pipeline
|
||||
metaphor
|
||||
* benchmarks and validation testing
|
||||
* x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used
|
||||
algorithms, with run-time CPU feature detection and code selection
|
||||
* some versions are available in FIPS 140-2 validated form
|
||||
|
||||
You are welcome to use it for any purpose without paying me, but see
|
||||
License.txt for the fine print.
|
||||
|
||||
The following compilers are supported for this release. Please visit
|
||||
http://www.cryptopp.com the most up to date build instructions and porting notes.
|
||||
|
||||
* MSVC 6.0 - 2010
|
||||
* GCC 3.3 - 4.5
|
||||
* C++Builder 2010
|
||||
* Intel C++ Compiler 9 - 11.1
|
||||
* Sun Studio 12u1, Express 11/08, Express 06/10
|
||||
|
||||
*** Important Usage Notes ***
|
||||
|
||||
1. If a constructor for A takes a pointer to an object B (except primitive
|
||||
types such as int and char), then A owns B and will delete B at A's
|
||||
destruction. If a constructor for A takes a reference to an object B,
|
||||
then the caller retains ownership of B and should not destroy it until
|
||||
A no longer needs it.
|
||||
|
||||
2. Crypto++ is thread safe at the class level. This means you can use
|
||||
Crypto++ safely in a multithreaded application, but you must provide
|
||||
synchronization when multiple threads access a common Crypto++ object.
|
||||
|
||||
*** MSVC-Specific Information ***
|
||||
|
||||
On Windows, Crypto++ can be compiled into 3 forms: a static library
|
||||
including all algorithms, a DLL with only FIPS Approved algorithms, and
|
||||
a static library with only algorithms not in the DLL.
|
||||
(FIPS Approved means Approved according to the FIPS 140-2 standard.)
|
||||
The DLL may be used by itself, or it may be used together with the second
|
||||
form of the static library. MSVC project files are included to build
|
||||
all three forms, and sample applications using each of the three forms
|
||||
are also included.
|
||||
|
||||
To compile Crypto++ with MSVC, open the "cryptest.dsw" (for MSVC 6 and MSVC .NET
|
||||
2003) or "cryptest.sln" (for MSVC 2005 - 2010) workspace file and build one or
|
||||
more of the following projects:
|
||||
|
||||
cryptopp - This builds the DLL. Please note that if you wish to use Crypto++
|
||||
as a FIPS validated module, you must use a pre-built DLL that has undergone
|
||||
the FIPS validation process instead of building your own.
|
||||
dlltest - This builds a sample application that only uses the DLL.
|
||||
cryptest Non-DLL-Import Configuration - This builds the full static library
|
||||
along with a full test driver.
|
||||
cryptest DLL-Import Configuration - This builds a static library containing
|
||||
only algorithms not in the DLL, along with a full test driver that uses
|
||||
both the DLL and the static library.
|
||||
|
||||
To use the Crypto++ DLL in your application, #include "dll.h" before including
|
||||
any other Crypto++ header files, and place the DLL in the same directory as
|
||||
your .exe file. dll.h includes the line #pragma comment(lib, "cryptopp")
|
||||
so you don't have to explicitly list the import library in your project
|
||||
settings. To use a static library form of Crypto++, make the "cryptlib"
|
||||
project a dependency of your application project, or specify it as
|
||||
an additional library to link with in your project settings.
|
||||
In either case you should check the compiler options to
|
||||
make sure that the library and your application are using the same C++
|
||||
run-time libraries and calling conventions.
|
||||
|
||||
*** DLL Memory Management ***
|
||||
|
||||
Because it's possible for the Crypto++ DLL to delete objects allocated
|
||||
by the calling application, they must use the same C++ memory heap. Three
|
||||
methods are provided to achieve this.
|
||||
1. The calling application can tell Crypto++ what heap to use. This method
|
||||
is required when the calling application uses a non-standard heap.
|
||||
2. Crypto++ can tell the calling application what heap to use. This method
|
||||
is required when the calling application uses a statically linked C++ Run
|
||||
Time Library. (Method 1 does not work in this case because the Crypto++ DLL
|
||||
is initialized before the calling application's heap is initialized.)
|
||||
3. Crypto++ can automatically use the heap provided by the calling application's
|
||||
dynamically linked C++ Run Time Library. The calling application must
|
||||
make sure that the dynamically linked C++ Run Time Library is initialized
|
||||
before Crypto++ is loaded. (At this time it is not clear if it is possible
|
||||
to control the order in which DLLs are initialized on Windows 9x machines,
|
||||
so it might be best to avoid using this method.)
|
||||
|
||||
When Crypto++ attaches to a new process, it searches all modules loaded
|
||||
into the process space for exported functions "GetNewAndDeleteForCryptoPP"
|
||||
and "SetNewAndDeleteFromCryptoPP". If one of these functions is found,
|
||||
Crypto++ uses methods 1 or 2, respectively, by calling the function.
|
||||
Otherwise, method 3 is used.
|
||||
|
||||
*** GCC-Specific Information ***
|
||||
|
||||
A makefile is included for you to compile Crypto++ with GCC. Make sure
|
||||
you are using GNU Make and GNU ld. The make process will produce two files,
|
||||
libcryptopp.a and cryptest.exe. Run "cryptest.exe v" for the validation
|
||||
suite.
|
||||
|
||||
*** Documentation and Support ***
|
||||
|
||||
Crypto++ is documented through inline comments in header files, which are
|
||||
processed through Doxygen to produce an HTML reference manual. You can find
|
||||
a link to the manual from http://www.cryptopp.com. Also at that site is
|
||||
the Crypto++ FAQ, which you should browse through before attempting to
|
||||
use this library, because it will likely answer many of questions that
|
||||
may come up.
|
||||
|
||||
If you run into any problems, please try the Crypto++ mailing list.
|
||||
The subscription information and the list archive are available on
|
||||
http://www.cryptopp.com. You can also email me directly by visiting
|
||||
http://www.weidai.com, but you will probably get a faster response through
|
||||
the mailing list.
|
||||
|
||||
*** History ***
|
||||
|
||||
1.0 - First public release. Withdrawn at the request of RSA DSI.
|
||||
- included Blowfish, BBS, DES, DH, Diamond, DSA, ElGamal, IDEA,
|
||||
MD5, RC4, RC5, RSA, SHA, WAKE, secret sharing, DEFLATE compression
|
||||
- had a serious bug in the RSA key generation code.
|
||||
|
||||
1.1 - Removed RSA, RC4, RC5
|
||||
- Disabled calls to RSAREF's non-public functions
|
||||
- Minor bugs fixed
|
||||
|
||||
2.0 - a completely new, faster multiprecision integer class
|
||||
- added MD5-MAC, HAVAL, 3-WAY, TEA, SAFER, LUC, Rabin, BlumGoldwasser,
|
||||
elliptic curve algorithms
|
||||
- added the Lucas strong probable primality test
|
||||
- ElGamal encryption and signature schemes modified to avoid weaknesses
|
||||
- Diamond changed to Diamond2 because of key schedule weakness
|
||||
- fixed bug in WAKE key setup
|
||||
- SHS class renamed to SHA
|
||||
- lots of miscellaneous optimizations
|
||||
|
||||
2.1 - added Tiger, HMAC, GOST, RIPE-MD160, LUCELG, LUCDIF, XOR-MAC,
|
||||
OAEP, PSSR, SHARK
|
||||
- added precomputation to DH, ElGamal, DSA, and elliptic curve algorithms
|
||||
- added back RC5 and a new RSA
|
||||
- optimizations in elliptic curves over GF(p)
|
||||
- changed Rabin to use OAEP and PSSR
|
||||
- changed many classes to allow copy constructors to work correctly
|
||||
- improved exception generation and handling
|
||||
|
||||
2.2 - added SEAL, CAST-128, Square
|
||||
- fixed bug in HAVAL (padding problem)
|
||||
- fixed bug in triple-DES (decryption order was reversed)
|
||||
- fixed bug in RC5 (couldn't handle key length not a multiple of 4)
|
||||
- changed HMAC to conform to RFC-2104 (which is not compatible
|
||||
with the original HMAC)
|
||||
- changed secret sharing and information dispersal to use GF(2^32)
|
||||
instead of GF(65521)
|
||||
- removed zero knowledge prover/verifier for graph isomorphism
|
||||
- removed several utility classes in favor of the C++ standard library
|
||||
|
||||
2.3 - ported to EGCS
|
||||
- fixed incomplete workaround of min/max conflict in MSVC
|
||||
|
||||
3.0 - placed all names into the "CryptoPP" namespace
|
||||
- added MD2, RC2, RC6, MARS, RW, DH2, MQV, ECDHC, CBC-CTS
|
||||
- added abstract base classes PK_SimpleKeyAgreementDomain and
|
||||
PK_AuthenticatedKeyAgreementDomain
|
||||
- changed DH and LUCDIF to implement the PK_SimpleKeyAgreementDomain
|
||||
interface and to perform domain parameter and key validation
|
||||
- changed interfaces of PK_Signer and PK_Verifier to sign and verify
|
||||
messages instead of message digests
|
||||
- changed OAEP to conform to PKCS#1 v2.0
|
||||
- changed benchmark code to produce HTML tables as output
|
||||
- changed PSSR to track IEEE P1363a
|
||||
- renamed ElGamalSignature to NR and changed it to track IEEE P1363
|
||||
- renamed ECKEP to ECMQVC and changed it to track IEEE P1363
|
||||
- renamed several other classes for clarity
|
||||
- removed support for calling RSAREF
|
||||
- removed option to compile old SHA (SHA-0)
|
||||
- removed option not to throw exceptions
|
||||
|
||||
3.1 - added ARC4, Rijndael, Twofish, Serpent, CBC-MAC, DMAC
|
||||
- added interface for querying supported key lengths of symmetric ciphers
|
||||
and MACs
|
||||
- added sample code for RSA signature and verification
|
||||
- changed CBC-CTS to be compatible with RFC 2040
|
||||
- updated SEAL to version 3.0 of the cipher specification
|
||||
- optimized multiprecision squaring and elliptic curves over GF(p)
|
||||
- fixed bug in MARS key setup
|
||||
- fixed bug with attaching objects to Deflator
|
||||
|
||||
3.2 - added DES-XEX3, ECDSA, DefaultEncryptorWithMAC
|
||||
- renamed DES-EDE to DES-EDE2 and TripleDES to DES-EDE3
|
||||
- optimized ARC4
|
||||
- generalized DSA to allow keys longer than 1024 bits
|
||||
- fixed bugs in GF2N and ModularArithmetic that can cause calculation errors
|
||||
- fixed crashing bug in Inflator when given invalid inputs
|
||||
- fixed endian bug in Serpent
|
||||
- fixed padding bug in Tiger
|
||||
|
||||
4.0 - added Skipjack, CAST-256, Panama, SHA-2 (SHA-256, SHA-384, and SHA-512),
|
||||
and XTR-DH
|
||||
- added a faster variant of Rabin's Information Dispersal Algorithm (IDA)
|
||||
- added class wrappers for these operating system features:
|
||||
- high resolution timers on Windows, Unix, and MacOS
|
||||
- Berkeley and Windows style sockets
|
||||
- Windows named pipes
|
||||
- /dev/random and /dev/urandom on Linux and FreeBSD
|
||||
- Microsoft's CryptGenRandom on Windows
|
||||
- added support for SEC 1 elliptic curve key format and compressed points
|
||||
- added support for X.509 public key format (subjectPublicKeyInfo) for
|
||||
RSA, DSA, and elliptic curve schemes
|
||||
- added support for DER and OpenPGP signature format for DSA
|
||||
- added support for ZLIB compressed data format (RFC 1950)
|
||||
- changed elliptic curve encryption to use ECIES (as defined in SEC 1)
|
||||
- changed MARS key schedule to reflect the latest specification
|
||||
- changed BufferedTransformation interface to support multiple channels
|
||||
and messages
|
||||
- changed CAST and SHA-1 implementations to use public domain source code
|
||||
- fixed bug in StringSource
|
||||
- optmized multi-precision integer code for better performance
|
||||
|
||||
4.1 - added more support for the recommended elliptic curve parameters in SEC 2
|
||||
- added Panama MAC, MARC4
|
||||
- added IV stealing feature to CTS mode
|
||||
- added support for PKCS #8 private key format for RSA, DSA, and elliptic
|
||||
curve schemes
|
||||
- changed Deflate, MD5, Rijndael, and Twofish to use public domain code
|
||||
- fixed a bug with flushing compressed streams
|
||||
- fixed a bug with decompressing stored blocks
|
||||
- fixed a bug with EC point decompression using non-trinomial basis
|
||||
- fixed a bug in NetworkSource::GeneralPump()
|
||||
- fixed a performance issue with EC over GF(p) decryption
|
||||
- fixed syntax to allow GCC to compile without -fpermissive
|
||||
- relaxed some restrictions in the license
|
||||
|
||||
4.2 - added support for longer HMAC keys
|
||||
- added MD4 (which is not secure so use for compatibility purposes only)
|
||||
- added compatibility fixes/workarounds for STLport 4.5, GCC 3.0.2,
|
||||
and MSVC 7.0
|
||||
- changed MD2 to use public domain code
|
||||
- fixed a bug with decompressing multiple messages with the same object
|
||||
- fixed a bug in CBC-MAC with MACing multiple messages with the same object
|
||||
- fixed a bug in RC5 and RC6 with zero-length keys
|
||||
- fixed a bug in Adler32 where incorrect checksum may be generated
|
||||
|
||||
5.0 - added ESIGN, DLIES, WAKE-OFB, PBKDF1 and PBKDF2 from PKCS #5
|
||||
- added key validation for encryption and signature public/private keys
|
||||
- renamed StreamCipher interface to SymmetricCipher, which is now implemented
|
||||
by both stream ciphers and block cipher modes including ECB and CBC
|
||||
- added keying interfaces to support resetting of keys and IVs without
|
||||
having to destroy and recreate objects
|
||||
- changed filter interface to support non-blocking input/output
|
||||
- changed SocketSource and SocketSink to use overlapped I/O on Microsoft Windows
|
||||
- grouped related classes inside structs to help templates, for example
|
||||
AESEncryption and AESDecryption are now AES::Encryption and AES::Decryption
|
||||
- where possible, typedefs have been added to improve backwards
|
||||
compatibility when the CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY macro is defined
|
||||
- changed Serpent, HAVAL and IDEA to use public domain code
|
||||
- implemented SSE2 optimizations for Integer operations
|
||||
- fixed a bug in HMAC::TruncatedFinal()
|
||||
- fixed SKIPJACK byte ordering following NIST clarification dated 5/9/02
|
||||
|
||||
5.01 - added known answer test for X9.17 RNG in FIPS 140 power-up self test
|
||||
- submitted to NIST/CSE, but not publicly released
|
||||
|
||||
5.02 - changed EDC test to MAC integrity check using HMAC/SHA1
|
||||
- improved performance of integrity check
|
||||
- added blinding to defend against RSA timing attack
|
||||
|
||||
5.03 - created DLL version of Crypto++ for FIPS 140-2 validation
|
||||
- fixed vulnerabilities in GetNextIV for CTR and OFB modes
|
||||
|
||||
5.0.4 - Removed DES, SHA-256, SHA-384, SHA-512 from DLL
|
||||
|
||||
5.1 - added PSS padding and changed PSSR to track IEEE P1363a draft standard
|
||||
- added blinding for RSA and Rabin to defend against timing attacks
|
||||
on decryption operations
|
||||
- changed signing and decryption APIs to support the above
|
||||
- changed WaitObjectContainer to allow waiting for more than 64
|
||||
objects at a time on Win32 platforms
|
||||
- fixed a bug in CBC and ECB modes with processing non-aligned data
|
||||
- fixed standard conformance bugs in DLIES (DHAES mode) and RW/EMSA2
|
||||
signature scheme (these fixes are not backwards compatible)
|
||||
- fixed a number of compiler warnings, minor bugs, and portability problems
|
||||
- removed Sapphire
|
||||
|
||||
5.2 - merged in changes for 5.01 - 5.0.4
|
||||
- added support for using encoding parameters and key derivation parameters
|
||||
with public key encryption (implemented by OAEP and DL/ECIES)
|
||||
- added Camellia, SHACAL-2, Two-Track-MAC, Whirlpool, RIPEMD-320,
|
||||
RIPEMD-128, RIPEMD-256, Base-32 coding, FIPS variant of CFB mode
|
||||
- added ThreadUserTimer for timing thread CPU usage
|
||||
- added option for password-based key derivation functions
|
||||
to iterate until a mimimum elapsed thread CPU time is reached
|
||||
- added option (on by default) for DEFLATE compression to detect
|
||||
uncompressible files and process them more quickly
|
||||
- improved compatibility and performance on 64-bit platforms,
|
||||
including Alpha, IA-64, x86-64, PPC64, Sparc64, and MIPS64
|
||||
- fixed ONE_AND_ZEROS_PADDING to use 0x80 instead 0x01 as padding.
|
||||
- fixed encoding/decoding of PKCS #8 privateKeyInfo to properly
|
||||
handle optional attributes
|
||||
|
||||
5.2.1 - fixed bug in the "dlltest" DLL testing program
|
||||
- fixed compiling with STLport using VC .NET
|
||||
- fixed compiling with -fPIC using GCC
|
||||
- fixed compiling with -msse2 on systems without memalign()
|
||||
- fixed inability to instantiate PanamaMAC
|
||||
- fixed problems with inline documentation
|
||||
|
||||
5.2.2 - added SHA-224
|
||||
- put SHA-256, SHA-384, SHA-512, RSASSA-PSS into DLL
|
||||
|
||||
5.2.3 - fixed issues with FIPS algorithm test vectors
|
||||
- put RSASSA-ISO into DLL
|
||||
|
||||
5.3 - ported to MSVC 2005 with support for x86-64
|
||||
- added defense against AES timing attacks, and more AES test vectors
|
||||
- changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"
|
||||
|
||||
5.4 - added Salsa20
|
||||
- updated Whirlpool to version 3.0
|
||||
- ported to GCC 4.1, Sun C++ 5.8, and Borland C++Builder 2006
|
||||
|
||||
5.5 - added VMAC and Sosemanuk (with x86-64 and SSE2 assembly)
|
||||
- improved speed of integer arithmetic, AES, SHA-512, Tiger, Salsa20,
|
||||
Whirlpool, and PANAMA cipher using assembly (x86-64, MMX, SSE2)
|
||||
- optimized Camellia and added defense against timing attacks
|
||||
- updated benchmarks code to show cycles per byte and to time key/IV setup
|
||||
- started using OpenMP for increased multi-core speed
|
||||
- enabled GCC optimization flags by default in GNUmakefile
|
||||
- added blinding and computational error checking for RW signing
|
||||
- changed RandomPool, X917RNG, GetNextIV, DSA/NR/ECDSA/ECNR to reduce
|
||||
the risk of reusing random numbers and IVs after virtual machine state
|
||||
rollback
|
||||
- changed default FIPS mode RNG from AutoSeededX917RNG<DES_EDE3> to
|
||||
AutoSeededX917RNG<AES>
|
||||
- fixed PANAMA cipher interface to accept 256-bit key and 256-bit IV
|
||||
- moved MD2, MD4, MD5, PanamaHash, ARC4, WAKE_CFB into the namespace "Weak"
|
||||
- removed HAVAL, MD5-MAC, XMAC
|
||||
|
||||
5.5.1 - fixed VMAC validation failure on 32-bit big-endian machines
|
||||
|
||||
5.5.2 - ported x64 assembly language code for AES, Salsa20, Sosemanuk, and Panama
|
||||
to MSVC 2005 (using MASM since MSVC doesn't support inline assembly on x64)
|
||||
- fixed Salsa20 initialization crash on non-SSE2 machines
|
||||
- fixed Whirlpool crash on Pentium 2 machines
|
||||
- fixed possible branch prediction analysis (BPA) vulnerability in
|
||||
MontgomeryReduce(), which may affect security of RSA, RW, LUC
|
||||
- fixed link error with MSVC 2003 when using "debug DLL" form of runtime library
|
||||
- fixed crash in SSE2_Add on P4 machines when compiled with
|
||||
MSVC 6.0 SP5 with Processor Pack
|
||||
- ported to MSVC 2008, GCC 4.2, Sun CC 5.9, Intel C++ Compiler 10.0,
|
||||
and Borland C++Builder 2007
|
||||
|
||||
5.6.0 - added AuthenticatedSymmetricCipher interface class and Filter wrappers
|
||||
- added CCM, GCM (with SSE2 assembly), EAX, CMAC, XSalsa20, and SEED
|
||||
- added support for variable length IVs
|
||||
- added OIDs for Brainpool elliptic curve parameters
|
||||
- improved AES and SHA-256 speed on x86 and x64
|
||||
- changed BlockTransformation interface to no longer assume data alignment
|
||||
- fixed incorrect VMAC computation on message lengths
|
||||
that are >64 mod 128 (x86 assembly version is not affected)
|
||||
- fixed compiler error in vmac.cpp on x86 with GCC -fPIC
|
||||
- fixed run-time validation error on x86-64 with GCC 4.3.2 -O2
|
||||
- fixed HashFilter bug when putMessage=true
|
||||
- fixed AES-CTR data alignment bug that causes incorrect encryption on ARM
|
||||
- removed WORD64_AVAILABLE; compiler support for 64-bit int is now required
|
||||
- ported to GCC 4.3, C++Builder 2009, Sun CC 5.10, Intel C++ Compiler 11
|
||||
|
||||
5.6.1 - added support for AES-NI and CLMUL instruction sets in AES and GMAC/GCM
|
||||
- removed WAKE-CFB
|
||||
- fixed several bugs in the SHA-256 x86/x64 assembly code:
|
||||
* incorrect hash on non-SSE2 x86 machines on non-aligned input
|
||||
* incorrect hash on x86 machines when input crosses 0x80000000
|
||||
* incorrect hash on x64 when compiled with GCC with optimizations enabled
|
||||
- fixed bugs in AES x86 and x64 assembly causing crashes in some MSVC build configurations
|
||||
- switched to a public domain implementation of MARS
|
||||
- ported to MSVC 2010, GCC 4.5.1, Sun Studio 12u1, C++Builder 2010, Intel C++ Compiler 11.1
|
||||
- renamed the MSVC DLL project to "cryptopp" for compatibility with MSVC 2010
|
||||
|
||||
Written by Wei Dai
|
@ -0,0 +1,3 @@
|
||||
0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff
|
||||
0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5
|
||||
0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617
|
@ -0,0 +1,5 @@
|
||||
000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7
|
||||
000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd
|
||||
def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2
|
||||
d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed
|
||||
|
@ -0,0 +1,45 @@
|
||||
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43
|
||||
80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C
|
||||
00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D
|
||||
00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C
|
||||
00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71
|
||||
01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27
|
||||
02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D
|
||||
04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4
|
||||
08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14
|
||||
10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420
|
||||
20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43
|
||||
40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6
|
||||
80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651
|
||||
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9
|
||||
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1
|
||||
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394
|
||||
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3
|
||||
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF
|
||||
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD
|
||||
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B
|
||||
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0
|
||||
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08
|
||||
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1
|
||||
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B
|
||||
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E
|
||||
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509
|
||||
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08
|
||||
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3
|
||||
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17
|
||||
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01
|
||||
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA
|
||||
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423
|
||||
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D
|
||||
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2
|
||||
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690
|
||||
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536
|
||||
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280
|
@ -0,0 +1,11 @@
|
||||
01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A
|
||||
01 23 45 67 89 AB CD EF
|
||||
23 8B 4F E5 84 7E 44 B2
|
||||
|
||||
01 23 45 67 12 34 56 78 23 45
|
||||
01 23 45 67 89 AB CD EF
|
||||
EB 6A 71 1A 2C 02 27 1B
|
||||
|
||||
01 23 45 67 12
|
||||
01 23 45 67 89 AB CD EF
|
||||
7A C8 16 D1 6E 9B 30 2E
|
@ -0,0 +1,11 @@
|
||||
2342bb9efa38542c0af75647f29f615d
|
||||
00000000000000000000000000000000
|
||||
c842a08972b43d20836c91d1b7530f6b
|
||||
|
||||
2342bb9efa38542cbed0ac83940ac298bac77a7717942863
|
||||
00000000000000000000000000000000
|
||||
1b386c0210dcadcbdd0e41aa08a7a7e8
|
||||
|
||||
2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604
|
||||
00000000000000000000000000000000
|
||||
4f6a2038286897b9c9870136553317fa
|
171
libraries/SSA/src/c++/contrib/cryptopp561/TestData/descert.dat
Normal file
171
libraries/SSA/src/c++/contrib/cryptopp561/TestData/descert.dat
Normal file
@ -0,0 +1,171 @@
|
||||
0101010101010101 95F8A5E5DD31D900 8000000000000000
|
||||
0101010101010101 DD7F121CA5015619 4000000000000000
|
||||
0101010101010101 2E8653104F3834EA 2000000000000000
|
||||
0101010101010101 4BD388FF6CD81D4F 1000000000000000
|
||||
0101010101010101 20B9E767B2FB1456 0800000000000000
|
||||
0101010101010101 55579380D77138EF 0400000000000000
|
||||
0101010101010101 6CC5DEFAAF04512F 0200000000000000
|
||||
0101010101010101 0D9F279BA5D87260 0100000000000000
|
||||
0101010101010101 D9031B0271BD5A0A 0080000000000000
|
||||
0101010101010101 424250B37C3DD951 0040000000000000
|
||||
0101010101010101 B8061B7ECD9A21E5 0020000000000000
|
||||
0101010101010101 F15D0F286B65BD28 0010000000000000
|
||||
0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000
|
||||
0101010101010101 E6D5F82752AD63D1 0004000000000000
|
||||
0101010101010101 ECBFE3BD3F591A5E 0002000000000000
|
||||
0101010101010101 F356834379D165CD 0001000000000000
|
||||
0101010101010101 2B9F982F20037FA9 0000800000000000
|
||||
0101010101010101 889DE068A16F0BE6 0000400000000000
|
||||
0101010101010101 E19E275D846A1298 0000200000000000
|
||||
0101010101010101 329A8ED523D71AEC 0000100000000000
|
||||
0101010101010101 E7FCE22557D23C97 0000080000000000
|
||||
0101010101010101 12A9F5817FF2D65D 0000040000000000
|
||||
0101010101010101 A484C3AD38DC9C19 0000020000000000
|
||||
0101010101010101 FBE00A8A1EF8AD72 0000010000000000
|
||||
0101010101010101 750D079407521363 0000008000000000
|
||||
0101010101010101 64FEED9C724C2FAF 0000004000000000
|
||||
0101010101010101 F02B263B328E2B60 0000002000000000
|
||||
0101010101010101 9D64555A9A10B852 0000001000000000
|
||||
0101010101010101 D106FF0BED5255D7 0000000800000000
|
||||
0101010101010101 E1652C6B138C64A5 0000000400000000
|
||||
0101010101010101 E428581186EC8F46 0000000200000000
|
||||
0101010101010101 AEB5F5EDE22D1A36 0000000100000000
|
||||
0101010101010101 E943D7568AEC0C5C 0000000080000000
|
||||
0101010101010101 DF98C8276F54B04B 0000000040000000
|
||||
0101010101010101 B160E4680F6C696F 0000000020000000
|
||||
0101010101010101 FA0752B07D9C4AB8 0000000010000000
|
||||
0101010101010101 CA3A2B036DBC8502 0000000008000000
|
||||
0101010101010101 5E0905517BB59BCF 0000000004000000
|
||||
0101010101010101 814EEB3B91D90726 0000000002000000
|
||||
0101010101010101 4D49DB1532919C9F 0000000001000000
|
||||
0101010101010101 25EB5FC3F8CF0621 0000000000800000
|
||||
0101010101010101 AB6A20C0620D1C6F 0000000000400000
|
||||
0101010101010101 79E90DBC98F92CCA 0000000000200000
|
||||
0101010101010101 866ECEDD8072BB0E 0000000000100000
|
||||
0101010101010101 8B54536F2F3E64A8 0000000000080000
|
||||
0101010101010101 EA51D3975595B86B 0000000000040000
|
||||
0101010101010101 CAFFC6AC4542DE31 0000000000020000
|
||||
0101010101010101 8DD45A2DDF90796C 0000000000010000
|
||||
0101010101010101 1029D55E880EC2D0 0000000000008000
|
||||
0101010101010101 5D86CB23639DBEA9 0000000000004000
|
||||
0101010101010101 1D1CA853AE7C0C5F 0000000000002000
|
||||
0101010101010101 CE332329248F3228 0000000000001000
|
||||
0101010101010101 8405D1ABE24FB942 0000000000000800
|
||||
0101010101010101 E643D78090CA4207 0000000000000400
|
||||
0101010101010101 48221B9937748A23 0000000000000200
|
||||
0101010101010101 DD7C0BBD61FAFD54 0000000000000100
|
||||
0101010101010101 2FBC291A570DB5C4 0000000000000080
|
||||
0101010101010101 E07C30D7E4E26E12 0000000000000040
|
||||
0101010101010101 0953E2258E8E90A1 0000000000000020
|
||||
0101010101010101 5B711BC4CEEBF2EE 0000000000000010
|
||||
0101010101010101 CC083F1E6D9E85F6 0000000000000008
|
||||
0101010101010101 D2FD8867D50D2DFE 0000000000000004
|
||||
0101010101010101 06E7EA22CE92708F 0000000000000002
|
||||
0101010101010101 166B40B44ABA4BD6 0000000000000001
|
||||
8001010101010101 0000000000000000 95A8D72813DAA94D
|
||||
4001010101010101 0000000000000000 0EEC1487DD8C26D5
|
||||
2001010101010101 0000000000000000 7AD16FFB79C45926
|
||||
1001010101010101 0000000000000000 D3746294CA6A6CF3
|
||||
0801010101010101 0000000000000000 809F5F873C1FD761
|
||||
0401010101010101 0000000000000000 C02FAFFEC989D1FC
|
||||
0201010101010101 0000000000000000 4615AA1D33E72F10
|
||||
0180010101010101 0000000000000000 2055123350C00858
|
||||
0140010101010101 0000000000000000 DF3B99D6577397C8
|
||||
0120010101010101 0000000000000000 31FE17369B5288C9
|
||||
0110010101010101 0000000000000000 DFDD3CC64DAE1642
|
||||
0108010101010101 0000000000000000 178C83CE2B399D94
|
||||
0104010101010101 0000000000000000 50F636324A9B7F80
|
||||
0102010101010101 0000000000000000 A8468EE3BC18F06D
|
||||
0101800101010101 0000000000000000 A2DC9E92FD3CDE92
|
||||
0101400101010101 0000000000000000 CAC09F797D031287
|
||||
0101200101010101 0000000000000000 90BA680B22AEB525
|
||||
0101100101010101 0000000000000000 CE7A24F350E280B6
|
||||
0101080101010101 0000000000000000 882BFF0AA01A0B87
|
||||
0101040101010101 0000000000000000 25610288924511C2
|
||||
0101020101010101 0000000000000000 C71516C29C75D170
|
||||
0101018001010101 0000000000000000 5199C29A52C9F059
|
||||
0101014001010101 0000000000000000 C22F0A294A71F29F
|
||||
0101012001010101 0000000000000000 EE371483714C02EA
|
||||
0101011001010101 0000000000000000 A81FBD448F9E522F
|
||||
0101010801010101 0000000000000000 4F644C92E192DFED
|
||||
0101010401010101 0000000000000000 1AFA9A66A6DF92AE
|
||||
0101010201010101 0000000000000000 B3C1CC715CB879D8
|
||||
0101010180010101 0000000000000000 19D032E64AB0BD8B
|
||||
0101010140010101 0000000000000000 3CFAA7A7DC8720DC
|
||||
0101010120010101 0000000000000000 B7265F7F447AC6F3
|
||||
0101010110010101 0000000000000000 9DB73B3C0D163F54
|
||||
0101010108010101 0000000000000000 8181B65BABF4A975
|
||||
0101010104010101 0000000000000000 93C9B64042EAA240
|
||||
0101010102010101 0000000000000000 5570530829705592
|
||||
0101010101800101 0000000000000000 8638809E878787A0
|
||||
0101010101400101 0000000000000000 41B9A79AF79AC208
|
||||
0101010101200101 0000000000000000 7A9BE42F2009A892
|
||||
0101010101100101 0000000000000000 29038D56BA6D2745
|
||||
0101010101080101 0000000000000000 5495C6ABF1E5DF51
|
||||
0101010101040101 0000000000000000 AE13DBD561488933
|
||||
0101010101020101 0000000000000000 024D1FFA8904E389
|
||||
0101010101018001 0000000000000000 D1399712F99BF02E
|
||||
0101010101014001 0000000000000000 14C1D7C1CFFEC79E
|
||||
0101010101012001 0000000000000000 1DE5279DAE3BED6F
|
||||
0101010101011001 0000000000000000 E941A33F85501303
|
||||
0101010101010801 0000000000000000 DA99DBBC9A03F379
|
||||
0101010101010401 0000000000000000 B7FC92F91D8E92E9
|
||||
0101010101010201 0000000000000000 AE8E5CAA3CA04E85
|
||||
0101010101010180 0000000000000000 9CC62DF43B6EED74
|
||||
0101010101010140 0000000000000000 D863DBB5C59A91A0
|
||||
0101010101010120 0000000000000000 A1AB2190545B91D7
|
||||
0101010101010110 0000000000000000 0875041E64C570F7
|
||||
0101010101010108 0000000000000000 5A594528BEBEF1CC
|
||||
0101010101010104 0000000000000000 FCDB3291DE21F0C0
|
||||
0101010101010102 0000000000000000 869EFD7F9F265A09
|
||||
1046913489980131 0000000000000000 88D55E54F54C97B4
|
||||
1007103489988020 0000000000000000 0C0CC00C83EA48FD
|
||||
10071034C8980120 0000000000000000 83BC8EF3A6570183
|
||||
1046103489988020 0000000000000000 DF725DCAD94EA2E9
|
||||
1086911519190101 0000000000000000 E652B53B550BE8B0
|
||||
1086911519580101 0000000000000000 AF527120C485CBB0
|
||||
5107B01519580101 0000000000000000 0F04CE393DB926D5
|
||||
1007B01519190101 0000000000000000 C9F00FFC74079067
|
||||
3107915498080101 0000000000000000 7CFD82A593252B4E
|
||||
3107919498080101 0000000000000000 CB49A2F9E91363E3
|
||||
10079115B9080140 0000000000000000 00B588BE70D23F56
|
||||
3107911598090140 0000000000000000 406A9A6AB43399AE
|
||||
1007D01589980101 0000000000000000 6CB773611DCA9ADA
|
||||
9107911589980101 0000000000000000 67FD21C17DBB5D70
|
||||
9107D01589190101 0000000000000000 9592CB4110430787
|
||||
1007D01598980120 0000000000000000 A6B7FF68A318DDD3
|
||||
1007940498190101 0000000000000000 4D102196C914CA16
|
||||
0107910491190401 0000000000000000 2DFA9F4573594965
|
||||
0107910491190101 0000000000000000 B46604816C0E0774
|
||||
0107940491190401 0000000000000000 6E7E6221A4F34E87
|
||||
19079210981A0101 0000000000000000 AA85E74643233199
|
||||
1007911998190801 0000000000000000 2E5A19DB4D1962D6
|
||||
10079119981A0801 0000000000000000 23A866A809D30894
|
||||
1007921098190101 0000000000000000 D812D961F017D320
|
||||
100791159819010B 0000000000000000 055605816E58608F
|
||||
1004801598190101 0000000000000000 ABD88E8B1B7716F1
|
||||
1004801598190102 0000000000000000 537AC95BE69DA1E1
|
||||
1004801598190108 0000000000000000 AED0F6AE3C25CDD8
|
||||
1002911598100104 0000000000000000 B3E35A5EE53E7B8D
|
||||
1002911598190104 0000000000000000 61C79C71921A2EF8
|
||||
1002911598100201 0000000000000000 E2F5728F0995013C
|
||||
1002911698100101 0000000000000000 1AEAC39A61F0A464
|
||||
7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
|
||||
0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
|
||||
07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
|
||||
3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
|
||||
04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
|
||||
0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
|
||||
0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
|
||||
43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
|
||||
07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
|
||||
04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
|
||||
37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
|
||||
1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
|
||||
584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
|
||||
025816164629B007 480D39006EE762F2 A1F9915541020B56
|
||||
49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
|
||||
4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
|
||||
49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
|
||||
018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
|
||||
1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
|
@ -0,0 +1 @@
|
||||
30818702818100DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F020102
|
@ -0,0 +1 @@
|
||||
308201080282010100EB60DBD494AAFBCD2EAC6A36DB8E7DD4A2A64512A5BBB15B9BFB581C7C1CAFB647D4612973C3770C2166D75EEA695F67EA8261557591DB78BCF5A886AA5294F3AEE4D25B57C8EE8C7FE8DBF70C132CD7FFCB6F89426F807F552C5DAE2FB1F329E340094E4B30D8EF6265AB4D350E9837B151C86AC524DE4E1FC04746C668BE318275E420D51AEDDFBDF887D435CDEEF6AC81293DB45287132F8236A43AD8F4D6642D7CA6732DA06A1DE008259008C9D74403B68ADAC788CF8AB5BEFFC310DCCCD32901D1F290E5B7A993D2CF6A652AF81B6DA0FD2E70678D1AE086150E41444522F20621195AD2A1F0975652B4AF7DE5261A9FD46B9EA8B443641F3BBA695B9B020103
|
@ -0,0 +1 @@
|
||||
308201370201003082011706072A8648CE3804013082010A02818100D4EC6B7A18416519C76766726B3D2D5F054D107B30E97691B15EB0DCDF452B77F10E12C14450AB107BE349C2DF3A2DBD9D844A24ABA21B328D568E8EC6B959E70BADE5C49879AE4447F643360523469B55AFDC459B45634F657AA79918772F2BA9508ACD43C95C16650A1251B8173EBA1B9B59FE8C57F6240EA49A4FE8855CEF0281806A7635BD0C20B28CE3B3B339359E96AF82A6883D9874BB48D8AF586E6FA295BBF8870960A22855883DF1A4E16F9D16DECEC2251255D10D9946AB4747635CACF385D6F2E24C3CD72223FB219B0291A34DAAD7EE22CDA2B1A7B2BD53CC8C3B9795D4A84566A1E4AE0B32850928DC0B9F5D0DCDACFF462BFB1207524D27F442AE77020102041702150C9C14EEFA749DCE9A2A4B7065768767BA48BBB62F
|
@ -0,0 +1 @@
|
||||
308202410201003082021906072A8648CE3804013082020C0282010100A8E87254E7F56CB5857786364ACC39F2A0F79FFF8ED6C62C64EE45FC1C775CDDBFD9CBCEF8262DBD2CECE4E5AFECA239B9B4B7D3CBA228366500F5B2203CA6C0CB0AB6698F73921B4831BA598DFA8268A07368A64774C77808AB7CB7978F839304B10567F8C9C34F8DBDB66BB928EDE6327773AA6C20A8F4E9C2AE0C66A0516E057BBC87760CF39270726F1863260CD5ADDAF366318E7029851A6F85B2349DF29629319A3662354DBCAD0789D02AC6BD804C06523900166501041963BD7EFFE0069694A54F4542172A29B1F09D26E3F052AE5274A898058BE549650BC2066DDFDB84D582E6503AF42BCB2B674F2A2A77C54678FD622FFCA2D9718BF8B0525AEF028201005474392A73FAB65AC2BBC31B25661CF9507BCFFFC76B6316327722FE0E3BAE6EDFECE5E77C1316DE96767272D7F6511CDCDA5BE9E5D1141B32807AD9101E536065855B34C7B9C90DA418DD2CC6FD41345039B45323BA63BC0455BE5BCBC7C1C9825882B3FC64E1A7C6DEDB35DC9476F3193BB9D53610547A74E15706335028B702BDDE43BB0679C93839378C3193066AD6ED79B318C73814C28D37C2D91A4EF94B1498CD1B311AA6DE5683C4E815635EC02603291C800B3280820CB1DEBF7FF0034B4A52A7A2A10B9514D8F84E9371F82957293A544C02C5F2A4B285E10336EFEDC26AC173281D7A15E595B3A795153BE2A33C7EB117FE516CB8C5FC58292D77020102041F021D031D7EC405D3E11D031B7B66DF9EFFCC5173B9B1639E4EC920731484EE
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user