diff --git a/MConnectSDK/MConnectClient.cs b/MConnectSDK/MConnectClient.cs
index 1c1ee40..e4cfdbb 100644
--- a/MConnectSDK/MConnectClient.cs
+++ b/MConnectSDK/MConnectClient.cs
@@ -318,28 +318,28 @@ namespace MConnectSDK
{
// init in stato ND...
isHmiEnrolled = false,
- cloudStatus = false,
- localStatus = false,
- source = Source.offline,
- callResult = false
+ CloudStatusOk = false,
+ LocalStatusOk = false,
+ Source = SourceType.OFFLINE,
+ CallResultOk = false
};
// verifico REDIS in primis
- answ.localStatus = checkRedisAlive();
- if (answ.localStatus)
+ answ.LocalStatusOk = checkRedisAlive();
+ if (answ.LocalStatusOk)
{
// cerco i TOKEN in REDIS...
answ.isAuth = !string.IsNullOrEmpty(refresh_token);
answ.isHmiEnrolled = enrollDate < DateTime.Now;
- answ.source = Source.local;
+ answ.Source = SourceType.LOCAL;
}
// verifico chiamata server...
if (_currParam.testMode)
{
// Fingo che tutto vada bene e di conseguenza setto risposta...
- answ.cloudStatus = true;
- answ.source = Source.cloud;
- answ.callResult = true;
+ answ.CloudStatusOk = true;
+ answ.Source = SourceType.CLOUD;
+ answ.CallResultOk = true;
// attesa random...
Random r = new Random();
Thread.Sleep(100 + r.Next(0, 100));
@@ -484,18 +484,23 @@ namespace MConnectSDK
}
///
/// Metodo di INIT della classe di comunicazione
- ///
+ ///
+ ///
+ ///
///
- public Result initSDKAsync()
+ public async Task initSDKAsync(CancellationToken token, IProgress progress)
{
- // svuoto TUTTI i dati x INIT...
- //ML.redFlushDB(_currParam.defaultDb);
- ML.redFlushKey("MCC*", _currParam.defaultDb);
- enrollDate = DateTime.Now.AddYears(100);
- // iniziod a watchdog...
- setWatchdog();
- // init output
- reqStatus = preCheckStatus();
+ await Task.Run(() =>
+ {
+ // svuoto TUTTI i dati x INIT...
+ //ML.redFlushDB(_currParam.defaultDb);
+ ML.redFlushKey("MCC*", _currParam.defaultDb);
+ enrollDate = DateTime.Now.AddYears(100);
+ // iniziod a watchdog...
+ setWatchdog();
+ // init output
+ reqStatus = preCheckStatus();
+ });
return reqStatus;
}
///
diff --git a/MConnectSDK/MConnectSDK.csproj b/MConnectSDK/MConnectSDK.csproj
index bace4f1..e763e2e 100644
--- a/MConnectSDK/MConnectSDK.csproj
+++ b/MConnectSDK/MConnectSDK.csproj
@@ -38,7 +38,7 @@
..\packages\NLog.4.5.11\lib\net45\NLog.dll
- ..\packages\Pipelines.Sockets.Unofficial.1.0.9\lib\net461\Pipelines.Sockets.Unofficial.dll
+ ..\packages\Pipelines.Sockets.Unofficial.1.1.14\lib\net461\Pipelines.Sockets.Unofficial.dll
..\packages\StackExchange.Redis.2.0.519\lib\net461\StackExchange.Redis.dll
@@ -81,6 +81,9 @@
+
+ ..\packages\YamlDotNet.5.4.0\lib\net45\YamlDotNet.dll
+
diff --git a/MConnectSDK/Utils.cs b/MConnectSDK/Utils.cs
index 3c8e18d..ca4ffdd 100644
--- a/MConnectSDK/Utils.cs
+++ b/MConnectSDK/Utils.cs
@@ -165,47 +165,48 @@
///
/// Indica lo stato di disponibilità del CLOUD (= connesso)
///
- public bool cloudStatus = false;
+ public bool CloudStatusOk = false;
///
/// Indica la disponibilità dello storage LOCALE (= connesso)
///
- public bool localStatus = false;
+ public bool LocalStatusOk = false;
///
/// Sorgente da cui deriva l'esito dell'operazione
///
- public Source source;
+ public SourceType Source;
///
/// Indica se la chiamata sia andata a buon fine (success) oppure ci siano stati errori/problemi
///
- public bool callResult = false;
+ public bool CallResultOk = false;
///
/// Property class associata ad eventuale errore riscontrato
///
- public Error error;
+ public ErrorResult error;
///
/// Payload associato alla chiamata
///
- public PayLoad payLoad;
+ public PayLoadResult payLoad;
}
///
/// Enum delle sorgenti di comunicazione
///
- public enum Source
+ public enum SourceType
{
///
/// Piattaforma Cloud MaestroConnect
///
- cloud = 0,
+ CLOUD = 0,
///
/// Storage cache locale
///
- local,
+ LOCAL,
///
/// Offline
///
- offline
+ OFFLINE
}
+#if false
///
/// Enum per status
///
@@ -213,25 +214,26 @@
{
KO = 0,
OK = 1
+ }
+#endif
+ ///
+ /// Enum per causali errori
+ ///
+ public enum Reason
+ {
+ NotFound = 0,
+ PwdMismatch
}
///
/// Classe errore chiamata
///
- public class Error
+ public class ErrorResult
{
- ///
- /// Enum per causali errori
- ///
- public enum Reason
- {
- NotFound = 0,
- PwdMismatch
- }
///
/// Classe causale errore
///
- public Reason reason;
+ public Reason Reason;
///
/// Messaggio di dettaglio errore
///
@@ -241,7 +243,7 @@
///
/// Classe base per ritnro dati chiamate
///
- public class PayLoad
+ public class PayLoadResult
{
}
@@ -250,7 +252,7 @@
/// Classe che contiene PayLoad x fare auth iniziale,
/// contentente i dati x user auth da mostrare con HMI
///
- public class userAuthData : PayLoad
+ public class userAuthData : PayLoadResult
{
///
/// Codice device
diff --git a/MConnectSDK/packages.config b/MConnectSDK/packages.config
index 039d719..7db8a3d 100644
--- a/MConnectSDK/packages.config
+++ b/MConnectSDK/packages.config
@@ -2,7 +2,7 @@
-
+
@@ -12,4 +12,5 @@
+
\ No newline at end of file
diff --git a/TestClient/MainForm.cs b/TestClient/MainForm.cs
index 4e2f0cf..c966f6c 100644
--- a/TestClient/MainForm.cs
+++ b/TestClient/MainForm.cs
@@ -119,9 +119,9 @@ namespace TestClient
sb.AppendLine("-------------------------");
sb.AppendLine("isAuth: " + reqStatus.isAuth);
sb.AppendLine("isHmiEnrolled: " + reqStatus.isHmiEnrolled);
- sb.AppendLine("cloudConnection: " + reqStatus.cloudStatus);
- sb.AppendLine("localConnection: " + reqStatus.localStatus);
- sb.AppendLine("callSuccess: " + reqStatus.callResult);
+ sb.AppendLine("cloudConnection: " + reqStatus.CloudStatusOk);
+ sb.AppendLine("localConnection: " + reqStatus.LocalStatusOk);
+ sb.AppendLine("callSuccess: " + reqStatus.CallResultOk);
sb.AppendLine("-------------------------");
lblReqStatus.Text = sb.ToString();
sb.AppendLine("");
@@ -219,7 +219,28 @@ namespace TestClient
await Task.Run(() =>
{
MCC = new MConnectClient(txtMConnectID.Text.Trim(), txtClientID.Text.Trim(), param);
- reqStatus = MCC.initSDKAsync();
+
+ // elimino eventuali cancel presenti...
+ if (_cts.IsCancellationRequested)
+ {
+ _cts = new CancellationTokenSource();
+ }
+ CancellationToken token = _cts.Token;
+ // gestione progress...
+ var progressHandler = new Progress(value =>
+ {
+#if false
+ // mostro i dati SPECIFICI x AUTH...
+ updateAuthData(value);
+#endif
+ });
+ var progress = progressHandler as IProgress;
+
+ var taskResult = MCC.initSDKAsync(token, progress);
+
+#if false
+ reqStatus = MCC.initSDKAsync(token, progress);
+#endif
// sistemo retVal
saveTokenResp();
diff --git a/TestClient/mconnect.conf.yaml b/TestClient/mconnect.conf.yaml
new file mode 100644
index 0000000..05d29f0
--- /dev/null
+++ b/TestClient/mconnect.conf.yaml
@@ -0,0 +1,9 @@
+#File di conf per MConnectClientSDK
+conf:
+ clientId: “UTE_TEST”
+ machineId: “ABCD000231234”
+ memoryLayer:
+ redis:
+ connectionString: “127.0.0.1,abortConnect=false,ssl=false“
+ dbIndex: 1
+ module: “MCC”
\ No newline at end of file