Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Constants.cs
1namespace NeuroAccessMaui
2{
6 public static class Constants
7 {
11 public const string NotAvailableValue = "-";
12
16 public const int MaxRenderedImageDimensionInPixels = 800;
17
21 public static class Application
22 {
26 public const string Name = "Neuro-Access";
27 }
28
32 public static class Security
33 {
37 public const int MinPasswordLength = 6;
38
42 public const double MediumSecurityScoreThreshold = 40.0;
43
47 public const double HighSecurityPasswordScoreThreshold = 55.0;
48
52 public const double MaxSecurityPasswordScoreThreshold = 70.0;
53
58
62 public const int MaxPasswordIdenticalSymbols = 6;
63
67 public const int MaxPasswordSequencedSymbols = 3;
68
72 public const int MaxScreenRecordingTimeSeconds = 60 * 60;
73 }
74
78 public static class LanguageCodes
79 {
83 public const string Default = "en-US";
84 }
85
89 public static class UriSchemes
90 {
94 public const string NeuroAccess = "neuroaccess";
95
99 public const string IotId = "iotid";
100
104 public const string IotDisco = "iotdisco";
105
109 public const string IotSc = "iotsc";
110
114 public const string TagSign = "tagsign";
115
119 public const string EDaler = "edaler";
120
124 public const string NeuroFeature = "nfeat";
125
129 public const string Onboarding = "obinfo";
130
134 public const string Xmpp = "xmpp";
135
139 public const string Aes256 = "aes256";
140
146 public static string? GetScheme(string Url)
147 {
148 if (string.IsNullOrWhiteSpace(Url))
149 return null;
150
151 int i = Url.IndexOf(':');
152 if (i < 0)
153 return null;
154
155 Url = Url[..i].ToLowerInvariant();
156
157 return Url switch
158 {
159 IotId or
160 IotDisco or
161 IotSc or
162 TagSign or
163 EDaler or
164 NeuroFeature or
165 Onboarding or
166 Xmpp or
167 NeuroAccess => Url,
168 _ => null,
169 };
170 }
171
177 public static bool StartsWithIdScheme(string Url)
178 {
179 return !string.IsNullOrWhiteSpace(Url) &&
180 Url.StartsWith(IotId + ":", StringComparison.InvariantCultureIgnoreCase);
181 }
182
188 public static string CreateSmartContractUri(string id)
189 {
190 return IotSc + ":" + id;
191 }
192
198 public static string CreateIdUri(string id)
199 {
200 return IotId + ":" + id;
201 }
202
208 public static string CreateTokenUri(string id)
209 {
210 return NeuroFeature + ":" + id;
211 }
212
218 public static string? RemoveScheme(string Url)
219 {
220 string? Scheme = GetScheme(Url);
221
222 if (string.IsNullOrEmpty(Scheme))
223 return null;
224
225 return Url[(Scheme.Length + 1)..];
226 }
227 }
228
232 public static class MimeTypes
233 {
237 public const string Jpeg = "image/jpeg";
238
242 public const string Png = "image/png";
243 }
244
248 public static class Domains
249 {
253 public const string IdDomain = "id.tagroot.io";
254
258 public const string OnboardingDomain = "onboarding.id.tagroot.io";
259 }
260
264 public static class XmppProperties
265 {
269 public const string FirstName = "FIRST";
270
274 public const string MiddleNames = "MIDDLE";
275
279 public const string LastNames = "LAST";
280
284 public const string PersonalNumber = "PNR";
285
289 public const string Address = "ADDR";
290
294 public const string Address2 = "ADDR2";
295
299 public const string Area = "AREA";
300
304 public const string City = "CITY";
305
309 public const string ZipCode = "ZIP";
310
314 public const string Region = "REGION";
315
319 public const string Country = "COUNTRY";
320
324 public const string Nationality = "NATIONALITY";
325
329 public const string Gender = "GENDER";
330
334 public const string BirthDay = "BDAY";
335
339 public const string BirthMonth = "BMONTH";
340
344 public const string BirthYear = "BYEAR";
345
349 public const string OrgName = "ORGNAME";
350
354 public const string OrgNumber = "ORGNR";
355
359 public const string OrgAddress = "ORGADDR";
360
364 public const string OrgAddress2 = "ORGADDR2";
365
369 public const string OrgArea = "ORGAREA";
370
374 public const string OrgCity = "ORGCITY";
375
379 public const string OrgZipCode = "ORGZIP";
380
384 public const string OrgRegion = "ORGREGION";
385
389 public const string OrgCountry = "ORGCOUNTRY";
390
394 public const string OrgDepartment = "ORGDEPT";
395
399 public const string OrgRole = "ORGROLE";
400
404 public const string DeviceId = "DEVICE_ID";
405
409 public const string Jid = "JID";
410
414 public const string Phone = "PHONE";
415
419 public const string EMail = "EMAIL";
420
424 public const string Domain = "DOMAIN";
425
429 public const string Apartment = "APT";
430
434 public const string Room = "ROOM";
435
439 public const string Building = "BLD";
440
444 public const string Altitude = "ALT";
445
449 public const string Longitude = "LON";
450
454 public const string Latitude = "LAT";
455
459 public const string Class = "CLASS";
460
464 public const string Key = "KEY";
465
469 public const string Manufacturer = "MAN";
470
474 public const string MeterLocation = "MLOC";
475
479 public const string MeterNumber = "MNR";
480
484 public const string Model = "MODEL";
485
489 public const string Name = "NAME";
490
494 public const string ProductInformation = "PURL";
495
499 public const string Registry = "R";
500
504 public const string SerialNumber = "SN";
505
509 public const string StreetName = "STREET";
510
514 public const string StreetNumber = "STREETNR";
515
519 public const string Version = "V";
520
524 public const string SourceId = "SID";
525
529 public const string Partition = "PT";
530
534 public const string NodeId = "NID";
535 }
536
540 public static class Intervals
541 {
545 public static readonly TimeSpan AutoSave = TimeSpan.FromSeconds(1);
546
550 public static readonly TimeSpan Reconnect = TimeSpan.FromSeconds(10);
551 }
552
556 public static class Timeouts
557 {
561 public static readonly TimeSpan GenericRequest = TimeSpan.FromSeconds(30);
562
566 public static readonly TimeSpan Database = TimeSpan.FromSeconds(10);
567
571 public static readonly TimeSpan XmppConnect = TimeSpan.FromSeconds(10);
572
576 public static readonly TimeSpan XmppInit = TimeSpan.FromSeconds(1);
577
581 public static readonly TimeSpan UploadFile = TimeSpan.FromSeconds(30);
582
586 public static readonly TimeSpan DownloadFile = TimeSpan.FromSeconds(10);
587 }
588
592 public static class PushChannels
593 {
597 public const string Messages = "Messages";
598
602 public const string Petitions = "Petitions";
603
607 public const string Identities = "Identities";
608
612 public const string Contracts = "Contracts";
613
617 public const string EDaler = "eDaler";
618
622 public const string Tokens = "Tokens";
623
627 public const string Provisioning = "Provisioning";
628 }
629
633 public static class Effects
634 {
638 public const string ResolutionGroupName = "com.tag.NeuroAccess";
639
643 public const string PasswordMaskTogglerEffect = "PasswordMaskTogglerEffect";
644 }
645
649 public static class Password
650 {
651
655 public const int PossibleInactivityInMinutes = 5;
656
660 public const int FirstMaxPasswordAttempts = 5;
661
665 public const int FirstBlockInHours = 1;
666
670 public const int SecondMaxPasswordAttempts = 2;
671
675 public const int SecondBlockInHours = 24;
676
680 public const int ThirdMaxPasswordAttempts = 2;
681
685 public const int ThirdBlockInHours = 7 * 24;
686
690 public const string CurrentPasswordAttemptCounter = "CurrentPasswordAttemptCounter";
691
695 public const string LogAuditorObjectID = "LogAuditorObjectID";
696
700 public const string RemoteEndpoint = "local";
701
705 public const string Protocol = "local";
706
710 public const string Reason = "pinEnteringFailure";
711 }
712
716 public static class References
717 {
721 public const string AndroidApp = "https://play.google.com/store/apps/details?id=com.tag.NeuroAccess";
722
726 public const string IPhoneApp = "https://apps.apple.com/se/app/trust-anchor-access/id1580610247";
727 }
728
732 public static class Pages
733 {
737 public const string MainPage = "//MainPage";
738
742 public const string RegistrationPage = "//Registration";
743 }
744
748 public static class Age
749 {
753 public const int MinAge = 13;
754
758 public const int MaxAge = 120;
759 }
760
764 public static class BatchSizes
765 {
769 public const int MessageBatchSize = 30;
770
774 public const int TokenBatchSize = 10;
775
779 public const int AccountEventBatchSize = 10;
780
784 public const int DeviceBatchSize = 100;
785 }
786
790 public static class ContractMachineNames
791 {
795 public const string PaymentInstructionsNamespace = "https://paiwise.tagroot.io/Schema/PaymentInstructions.xsd";
796
800 public const string BuyEDaler = "BuyEDaler";
801
805 public const string SellEDaler = "SellEDaler";
806 }
807
811 public static class ContractTemplates
812 {
816 public const string CreateDemoTokenTemplate = "2bb9fff1-8716-cb1b-5807-9fdb05b2207b@legal.lab.tagroot.io";
817
821 public const string CreateDemoTokens5Template = "2bba00ac-8716-cb3e-5807-9fdb055370c4@legal.lab.tagroot.io";
822
826 public static readonly string[] TokenCreationTemplates =
827 [
830 ];
831
835 public const string TransferTokenTemplate = "2a6d6b09-cae9-bb7e-4015-a272cd9cd5b9@legal.lab.tagroot.io";
836
840 public const string TokenConsignmentTemplate = "2a6d86d3-cae9-be05-4015-a272cd0cbbb9@legal.lab.tagroot.io";
841 }
842
846 public static class Images
847 {
851 public const string Qr_Person = "file://qr_person.svg";
852 }
853
857 public static class QrCode
858 {
862 public const int DefaultImageWidth = 240;
866 public const int DefaultImageHeight = 240;
870 public const int DefaultResolutionScale = 2;
871 }
872
876 public static class Settings
877 {
881 public const string PushNotificationConfigurationVersion = "PUSH.CONFIG_VERSION";
882
886 public const string PushNotificationReportDate = "PUSH.REPORT_DATE";
887
891 public const string PushNotificationToken = "PUSH.TOKEN";
892
896 public const string TransferIdCodeSent = "TransferId.CodesSent";
897 }
898
899 }
900}
Age-related constants.
Definition: Constants.cs:749
const int MinAge
Minimum age for applying for an ID
Definition: Constants.cs:753
const int MaxAge
Maximum age for applying for an ID
Definition: Constants.cs:758
Application-related constants.
Definition: Constants.cs:22
const string Name
Name of application
Definition: Constants.cs:26
const int TokenBatchSize
Number of tokens to load in a single batch.
Definition: Constants.cs:774
const int MessageBatchSize
Number of messages to load in a single batch.
Definition: Constants.cs:769
const int DeviceBatchSize
Number of devices to load in a single batch.
Definition: Constants.cs:784
const int AccountEventBatchSize
Number of account events to load in a single batch.
Definition: Constants.cs:779
Machine-readable names in contracts.
Definition: Constants.cs:791
const string PaymentInstructionsNamespace
Namespace for payment instructions
Definition: Constants.cs:795
const string BuyEDaler
Local name for contracts for buying eDaler.
Definition: Constants.cs:800
const string SellEDaler
Local name for contracts for selling eDaler.
Definition: Constants.cs:805
static readonly string[] TokenCreationTemplates
Array of contract templates for creating tokens.
Definition: Constants.cs:826
const string TokenConsignmentTemplate
Contract template for consigning the token to an auctioneer with the purpose of selling it.
Definition: Constants.cs:840
const string TransferTokenTemplate
Contract template for transferring a token from a seller to a buyer
Definition: Constants.cs:835
const string CreateDemoTokenTemplate
Contract template for creating a demo token
Definition: Constants.cs:816
const string CreateDemoTokens5Template
Contract template for creating five demo tokens
Definition: Constants.cs:821
const string OnboardingDomain
Neuro-Access onboarding domain.
Definition: Constants.cs:258
const string IdDomain
Neuro-Access domain.
Definition: Constants.cs:253
const string ResolutionGroupName
ResolutionGroupName used for resolving Effects.
Definition: Constants.cs:638
const string PasswordMaskTogglerEffect
PasswordMaskTogglerEffect.
Definition: Constants.cs:643
const string Qr_Person
QR-code with a person icon.
Definition: Constants.cs:851
static readonly TimeSpan Reconnect
Reconnect interval
Definition: Constants.cs:550
static readonly TimeSpan AutoSave
Auto Save interval
Definition: Constants.cs:545
const string Default
The default language code.
Definition: Constants.cs:83
const string Png
The PNG MIME type.
Definition: Constants.cs:242
const string Jpeg
The JPEG MIME type.
Definition: Constants.cs:237
Absolute paths to important pages.
Definition: Constants.cs:733
const string MainPage
Path to main page.
Definition: Constants.cs:737
const string RegistrationPage
Path to registration page.
Definition: Constants.cs:742
Constants for Password
Definition: Constants.cs:650
const int FirstMaxPasswordAttempts
Maximum password enetring attempts, first interval
Definition: Constants.cs:660
const int PossibleInactivityInMinutes
Possible time of inactivity
Definition: Constants.cs:655
const string CurrentPasswordAttemptCounter
Key for password attempt counter
Definition: Constants.cs:690
const string RemoteEndpoint
Endpoint for LogAuditor
Definition: Constants.cs:700
const string LogAuditorObjectID
Log Object ID
Definition: Constants.cs:695
const int SecondBlockInHours
Second Block in hours after 3 attempts
Definition: Constants.cs:675
const int ThirdBlockInHours
Third Block in hours after 3 attempts
Definition: Constants.cs:685
const int FirstBlockInHours
First Block in hours after FirstMaxPasswordAttempts attempts
Definition: Constants.cs:665
const string Protocol
Protocol for LogAuditor
Definition: Constants.cs:705
const int ThirdMaxPasswordAttempts
Maximum password enetring attempts, third interval
Definition: Constants.cs:680
const int SecondMaxPasswordAttempts
Maximum password enetring attempts, second interval
Definition: Constants.cs:670
const string Reason
Reason for LogAuditor
Definition: Constants.cs:710
const string Provisioning
Provisioning channel
Definition: Constants.cs:627
const string Petitions
Petitions channel
Definition: Constants.cs:602
const string Identities
Identities channel
Definition: Constants.cs:607
const string Messages
Messages channel
Definition: Constants.cs:597
const string Tokens
Tokens channel
Definition: Constants.cs:622
const string Contracts
Contracts channel
Definition: Constants.cs:612
const int DefaultImageHeight
The default height to use when generating QR Code images.
Definition: Constants.cs:866
const int DefaultImageWidth
The default width to use when generating QR Code images.
Definition: Constants.cs:862
const int DefaultResolutionScale
The default scale factor to apply to the QR Code image resolution.
Definition: Constants.cs:870
References to external resources
Definition: Constants.cs:717
const string IPhoneApp
Resource where iPhone App can be downloaded.
Definition: Constants.cs:726
const string AndroidApp
Resource where Android App can be downloaded.
Definition: Constants.cs:721
Authentication constants
Definition: Constants.cs:33
const int MaxPasswordIdenticalSymbols
Maximum number of identical symbols in a password.
Definition: Constants.cs:62
const int MinPasswordLength
Minimum length for password
Definition: Constants.cs:37
const int MinPasswordSymbolsFromDifferentClasses
Minimum number of symbols from at least two character classes (digits, letters, other) in a password.
Definition: Constants.cs:57
const int MaxPasswordSequencedSymbols
Maximum number of sequenced symbols in a password.
Definition: Constants.cs:67
const double MediumSecurityScoreThreshold
A password score value equal to or higher than this is considered medium security.
Definition: Constants.cs:42
const double HighSecurityPasswordScoreThreshold
A password score value equal to or higher than this is considered high security.
Definition: Constants.cs:47
const int MaxScreenRecordingTimeSeconds
Maximum number of seconds screen recording is allowed.
Definition: Constants.cs:72
const double MaxSecurityPasswordScoreThreshold
A password score value equal to or higher than this is considered to be of the highest security.
Definition: Constants.cs:52
Runtime setting key names.
Definition: Constants.cs:877
const string TransferIdCodeSent
Transfer ID code
Definition: Constants.cs:896
const string PushNotificationConfigurationVersion
Push-notification configuration version.
Definition: Constants.cs:881
const string PushNotificationReportDate
When push-notification token was reported.
Definition: Constants.cs:886
const string PushNotificationToken
Push-notification token.
Definition: Constants.cs:891
static readonly TimeSpan GenericRequest
Generic request timeout
Definition: Constants.cs:561
static readonly TimeSpan XmppInit
XMPP Init timeout
Definition: Constants.cs:576
static readonly TimeSpan Database
Database timeout
Definition: Constants.cs:566
static readonly TimeSpan XmppConnect
XMPP Connect timeout
Definition: Constants.cs:571
static readonly TimeSpan DownloadFile
Download file timeout
Definition: Constants.cs:586
static readonly TimeSpan UploadFile
Upload file timeout
Definition: Constants.cs:581
const string TagSign
TAG Signature (Quick-Login) URI Scheme (tagsign)
Definition: Constants.cs:114
const string IotSc
The IoT Smart Contract URI Scheme (iotsc)
Definition: Constants.cs:109
static bool StartsWithIdScheme(string Url)
Checks if the specified code starts with the IoT ID scheme.
Definition: Constants.cs:177
const string Onboarding
Onboarding URI Scheme (obinfo)
Definition: Constants.cs:129
static string CreateSmartContractUri(string id)
Generates a IoT Scan Uri form the specified id.
Definition: Constants.cs:188
const string NeuroFeature
eDaler URI Scheme (edaler)
Definition: Constants.cs:124
static string CreateTokenUri(string id)
Generates a Neuro-Feature ID Uri form the specified id.
Definition: Constants.cs:208
static ? string RemoveScheme(string Url)
Removes the URI Schema from an URL.
Definition: Constants.cs:218
static string CreateIdUri(string id)
Generates a IoT ID Uri form the specified id.
Definition: Constants.cs:198
const string Aes256
AES-256-encrypted data.
Definition: Constants.cs:139
const string IotDisco
The IoT Discovery URI Scheme (iotdisco)
Definition: Constants.cs:104
const string Xmpp
XMPP URI Scheme (xmpp)
Definition: Constants.cs:134
const string IotId
The IoT ID URI Scheme (iotid)
Definition: Constants.cs:99
static ? string GetScheme(string Url)
Gets the predefined scheme from an IoT Code
Definition: Constants.cs:146
const string MeterNumber
MeterNumber
Definition: Constants.cs:479
const string PersonalNumber
Personal number
Definition: Constants.cs:284
const string OrgAddress2
Organization Address line 2
Definition: Constants.cs:364
const string OrgArea
Organization Area
Definition: Constants.cs:369
const string SerialNumber
Serial Number
Definition: Constants.cs:504
const string OrgRegion
Organization Region
Definition: Constants.cs:384
const string Nationality
Nationality
Definition: Constants.cs:324
const string BirthYear
Birth Year
Definition: Constants.cs:344
const string OrgCity
Organization City
Definition: Constants.cs:374
const string OrgRole
Organization Role
Definition: Constants.cs:399
const string StreetName
Street Name
Definition: Constants.cs:509
const string Phone
Phone number
Definition: Constants.cs:414
const string EMail
e-Mail address
Definition: Constants.cs:419
const string ProductInformation
Product Information
Definition: Constants.cs:494
const string OrgZipCode
Organization Zip Code
Definition: Constants.cs:379
const string MiddleNames
Middle names
Definition: Constants.cs:274
const string OrgCountry
Organization Country
Definition: Constants.cs:389
const string OrgDepartment
Organization Department
Definition: Constants.cs:394
const string Address2
Address line 2
Definition: Constants.cs:294
const string Domain
Domain name.
Definition: Constants.cs:424
const string StreetNumber
Street Number
Definition: Constants.cs:514
const string OrgAddress
Organization Address line 1
Definition: Constants.cs:359
const string Address
Address line 1
Definition: Constants.cs:289
const string LastNames
Last names
Definition: Constants.cs:279
const string OrgNumber
Organization number
Definition: Constants.cs:354
const string BirthMonth
Birth Month
Definition: Constants.cs:339
const string MeterLocation
Meter Location
Definition: Constants.cs:474
const string Manufacturer
Manufacturer
Definition: Constants.cs:469
const string FirstName
First name
Definition: Constants.cs:269
const string OrgName
Organization name
Definition: Constants.cs:349
A set of never changing property constants and helpful values.
Definition: Constants.cs:7
const int MaxRenderedImageDimensionInPixels
A maximum number of pixels to render for images, downscaling them if necessary.
Definition: Constants.cs:16
const string NotAvailableValue
A generic "no value available" string.
Definition: Constants.cs:11