Sfoglia il codice sorgente

Add counter structure

DocSystem 1 anno fa
parent
commit
27557352b1
3 ha cambiato i file con 188 aggiunte e 159 eliminazioni
  1. 2 1
      api/calypso/calypso_util.h
  2. 183 157
      api/calypso/cards/intercode.c
  3. 3 1
      api/calypso/cards/intercode.h

+ 2 - 1
api/calypso/calypso_util.h

@@ -5,9 +5,10 @@
 #define CALYPSO_UTIL_H
 
 typedef enum {
+    CALYPSO_APP_ENV_HOLDER,
     CALYPSO_APP_CONTRACT,
     CALYPSO_APP_EVENT,
-    CALYPSO_APP_ENV_HOLDER,
+    CALYPSO_APP_COUNTER,
 } CalypsoAppType;
 
 typedef enum {

+ 183 - 157
api/calypso/cards/intercode.c

@@ -1,6 +1,173 @@
 #include <stdlib.h>
 #include "intercode.h"
 
+CalypsoApp* get_intercode_structure_env_holder() {
+    CalypsoApp* IntercodeEnvHolderStructure = malloc(sizeof(CalypsoApp));
+    if(!IntercodeEnvHolderStructure) {
+        return NULL;
+    }
+
+    int app_elements_count = 3;
+
+    IntercodeEnvHolderStructure->type = CALYPSO_APP_ENV_HOLDER;
+    IntercodeEnvHolderStructure->container = malloc(sizeof(CalypsoContainerElement));
+    IntercodeEnvHolderStructure->container->elements =
+        malloc(app_elements_count * sizeof(CalypsoElement));
+    IntercodeEnvHolderStructure->container->size = app_elements_count;
+
+    IntercodeEnvHolderStructure->container->elements[0] = make_calypso_final_element(
+        "EnvApplicationVersionNumber",
+        6,
+        "Numéro de version de l’application Billettique",
+        CALYPSO_FINAL_TYPE_NUMBER);
+    IntercodeEnvHolderStructure->container->elements[1] = make_calypso_bitmap_element(
+        "Env",
+        7,
+        (CalypsoElement[]){
+            make_calypso_final_element(
+                "EnvNetworkId", 24, "Identification du réseau", CALYPSO_FINAL_TYPE_NUMBER),
+            make_calypso_final_element(
+                "EnvApplicationIssuerId",
+                8,
+                "Identification de l’émetteur de l’application",
+                CALYPSO_FINAL_TYPE_UNKNOWN),
+            make_calypso_final_element(
+                "EnvApplicationValidityEndDate",
+                14,
+                "Date de fin de validité de l’application",
+                CALYPSO_FINAL_TYPE_DATE),
+            make_calypso_final_element(
+                "EnvPayMethod", 11, "Code mode de paiement", CALYPSO_FINAL_TYPE_PAY_METHOD),
+            make_calypso_final_element(
+                "EnvAuthenticator",
+                16,
+                "Code de contrôle de l’intégrité des données",
+                CALYPSO_FINAL_TYPE_UNKNOWN),
+            make_calypso_final_element(
+                "EnvSelectList",
+                32,
+                "Bitmap de tableau de paramètre multiple",
+                CALYPSO_FINAL_TYPE_UNKNOWN),
+            make_calypso_container_element(
+                "EnvData",
+                2,
+                (CalypsoElement[]){
+                    make_calypso_final_element(
+                        "EnvDataCardStatus", 1, "Statut de la carte", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "EnvData2", 0, "Données complémentaires", CALYPSO_FINAL_TYPE_UNKNOWN),
+                }),
+        });
+    IntercodeEnvHolderStructure->container->elements[2] = make_calypso_bitmap_element(
+        "Holder",
+        8,
+        (CalypsoElement[]){
+            make_calypso_bitmap_element(
+                "HolderName",
+                2,
+                (CalypsoElement[]){
+                    make_calypso_final_element(
+                        "HolderSurname", 85, "Nom du porteur", CALYPSO_FINAL_TYPE_STRING),
+                    make_calypso_final_element(
+                        "HolderForename",
+                        85,
+                        "Prénom de naissance du porteur",
+                        CALYPSO_FINAL_TYPE_STRING),
+                }),
+            make_calypso_bitmap_element(
+                "HolderBirth",
+                2,
+                (CalypsoElement[]){
+                    make_calypso_final_element(
+                        "HolderBirthDate", 32, "Date de naissance", CALYPSO_FINAL_TYPE_DATE),
+                    make_calypso_final_element(
+                        "HolderBirthPlace",
+                        115,
+                        "Lieu de naissance (23 caractères)",
+                        CALYPSO_FINAL_TYPE_STRING),
+                }),
+            make_calypso_final_element(
+                "HolderBirthName",
+                85,
+                "Nom de naissance du porteur (17 caractères)",
+                CALYPSO_FINAL_TYPE_STRING),
+            make_calypso_final_element(
+                "HolderIdNumber", 32, "Identifiant Porteur", CALYPSO_FINAL_TYPE_NUMBER),
+            make_calypso_final_element(
+                "HolderCountryAlpha", 24, "Pays du titulaire", CALYPSO_FINAL_TYPE_UNKNOWN),
+            make_calypso_final_element(
+                "HolderCompany", 32, "Société du titulaire", CALYPSO_FINAL_TYPE_UNKNOWN),
+            make_calypso_bitmap_element(
+                "HolderProfiles",
+                4,
+                (CalypsoElement[]){
+                    make_calypso_bitmap_element(
+                        "HolderProfileBitmap",
+                        3,
+                        (CalypsoElement[]){
+                            make_calypso_final_element(
+                                "HolderNetworkId", 24, "Réseau", CALYPSO_FINAL_TYPE_UNKNOWN),
+                            make_calypso_final_element(
+                                "HolderProfileNumber",
+                                8,
+                                "Numéro du statut",
+                                CALYPSO_FINAL_TYPE_NUMBER),
+                            make_calypso_final_element(
+                                "HolderProfileDate",
+                                14,
+                                "Date de fin de validité du statut",
+                                CALYPSO_FINAL_TYPE_DATE),
+                        }),
+                }),
+            make_calypso_bitmap_element(
+                "HolderData",
+                12,
+                (CalypsoElement[]){
+                    make_calypso_final_element(
+                        "HolderDataCardStatus", 4, "Type de carte", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataTeleReglement", 4, "Télérèglement", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataResidence", 17, "Ville du domicile", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataCommercialID", 6, "Produit carte", CALYPSO_FINAL_TYPE_NUMBER),
+                    make_calypso_final_element(
+                        "HolderDataWorkPlace", 17, "Lieu de travail", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataStudyPlace", 17, "Lieu d'étude", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataSaleDevice",
+                        16,
+                        "Numéro logique de SAM",
+                        CALYPSO_FINAL_TYPE_NUMBER),
+                    make_calypso_final_element(
+                        "HolderDataAuthenticator", 16, "Signature", CALYPSO_FINAL_TYPE_UNKNOWN),
+                    make_calypso_final_element(
+                        "HolderDataProfileStartDate1",
+                        14,
+                        "Date de début de validité du statut",
+                        CALYPSO_FINAL_TYPE_DATE),
+                    make_calypso_final_element(
+                        "HolderDataProfileStartDate2",
+                        14,
+                        "Date de début de validité du statut",
+                        CALYPSO_FINAL_TYPE_DATE),
+                    make_calypso_final_element(
+                        "HolderDataProfileStartDate3",
+                        14,
+                        "Date de début de validité du statut",
+                        CALYPSO_FINAL_TYPE_DATE),
+                    make_calypso_final_element(
+                        "HolderDataProfileStartDate4",
+                        14,
+                        "Date de début de validité du statut",
+                        CALYPSO_FINAL_TYPE_DATE),
+                }),
+        });
+
+    return IntercodeEnvHolderStructure;
+}
+
 CalypsoApp* get_intercode_structure_contract() {
     CalypsoApp* IntercodeContractStructure = malloc(sizeof(CalypsoApp));
     if(!IntercodeContractStructure) {
@@ -382,171 +549,30 @@ CalypsoApp* get_intercode_structure_event() {
     return IntercodeEventStructure;
 }
 
-CalypsoApp* get_intercode_structure_env_holder() {
-    CalypsoApp* IntercodeEnvHolderStructure = malloc(sizeof(CalypsoApp));
-    if(!IntercodeEnvHolderStructure) {
+CalypsoApp* get_intercode_structure_counter() {
+    CalypsoApp* IntercodeCounterStructure = malloc(sizeof(CalypsoApp));
+    if(!IntercodeCounterStructure) {
         return NULL;
     }
 
-    int app_elements_count = 3;
+    int app_elements_count = 2;
 
-    IntercodeEnvHolderStructure->type = CALYPSO_APP_ENV_HOLDER;
-    IntercodeEnvHolderStructure->container = malloc(sizeof(CalypsoContainerElement));
-    IntercodeEnvHolderStructure->container->elements =
+    IntercodeCounterStructure->type = CALYPSO_APP_COUNTER;
+    IntercodeCounterStructure->container = malloc(sizeof(CalypsoContainerElement));
+    IntercodeCounterStructure->container->elements =
         malloc(app_elements_count * sizeof(CalypsoElement));
-    IntercodeEnvHolderStructure->container->size = app_elements_count;
+    IntercodeCounterStructure->container->size = app_elements_count;
 
-    IntercodeEnvHolderStructure->container->elements[0] = make_calypso_final_element(
-        "EnvApplicationVersionNumber",
-        6,
-        "Numéro de version de l’application Billettique",
+    IntercodeCounterStructure->container->elements[0] = make_calypso_final_element(
+        "CounterContractCount", 6, "Nombre de titres du carnet", CALYPSO_FINAL_TYPE_NUMBER);
+
+    IntercodeCounterStructure->container->elements[1] = make_calypso_final_element(
+        "CounterRelativeFirstStamp15mn",
+        18,
+        "Temps relatif de la première validation (au quart d'heure près)",
         CALYPSO_FINAL_TYPE_NUMBER);
-    IntercodeEnvHolderStructure->container->elements[1] = make_calypso_bitmap_element(
-        "Env",
-        7,
-        (CalypsoElement[]){
-            make_calypso_final_element(
-                "EnvNetworkId", 24, "Identification du réseau", CALYPSO_FINAL_TYPE_NUMBER),
-            make_calypso_final_element(
-                "EnvApplicationIssuerId",
-                8,
-                "Identification de l’émetteur de l’application",
-                CALYPSO_FINAL_TYPE_UNKNOWN),
-            make_calypso_final_element(
-                "EnvApplicationValidityEndDate",
-                14,
-                "Date de fin de validité de l’application",
-                CALYPSO_FINAL_TYPE_DATE),
-            make_calypso_final_element(
-                "EnvPayMethod", 11, "Code mode de paiement", CALYPSO_FINAL_TYPE_PAY_METHOD),
-            make_calypso_final_element(
-                "EnvAuthenticator",
-                16,
-                "Code de contrôle de l’intégrité des données",
-                CALYPSO_FINAL_TYPE_UNKNOWN),
-            make_calypso_final_element(
-                "EnvSelectList",
-                32,
-                "Bitmap de tableau de paramètre multiple",
-                CALYPSO_FINAL_TYPE_UNKNOWN),
-            make_calypso_container_element(
-                "EnvData",
-                2,
-                (CalypsoElement[]){
-                    make_calypso_final_element(
-                        "EnvDataCardStatus", 1, "Statut de la carte", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "EnvData2", 0, "Données complémentaires", CALYPSO_FINAL_TYPE_UNKNOWN),
-                }),
-        });
-    IntercodeEnvHolderStructure->container->elements[2] = make_calypso_bitmap_element(
-        "Holder",
-        8,
-        (CalypsoElement[]){
-            make_calypso_bitmap_element(
-                "HolderName",
-                2,
-                (CalypsoElement[]){
-                    make_calypso_final_element(
-                        "HolderSurname", 85, "Nom du porteur", CALYPSO_FINAL_TYPE_STRING),
-                    make_calypso_final_element(
-                        "HolderForename",
-                        85,
-                        "Prénom de naissance du porteur",
-                        CALYPSO_FINAL_TYPE_STRING),
-                }),
-            make_calypso_bitmap_element(
-                "HolderBirth",
-                2,
-                (CalypsoElement[]){
-                    make_calypso_final_element(
-                        "HolderBirthDate", 32, "Date de naissance", CALYPSO_FINAL_TYPE_DATE),
-                    make_calypso_final_element(
-                        "HolderBirthPlace",
-                        115,
-                        "Lieu de naissance (23 caractères)",
-                        CALYPSO_FINAL_TYPE_STRING),
-                }),
-            make_calypso_final_element(
-                "HolderBirthName",
-                85,
-                "Nom de naissance du porteur (17 caractères)",
-                CALYPSO_FINAL_TYPE_STRING),
-            make_calypso_final_element(
-                "HolderIdNumber", 32, "Identifiant Porteur", CALYPSO_FINAL_TYPE_NUMBER),
-            make_calypso_final_element(
-                "HolderCountryAlpha", 24, "Pays du titulaire", CALYPSO_FINAL_TYPE_UNKNOWN),
-            make_calypso_final_element(
-                "HolderCompany", 32, "Société du titulaire", CALYPSO_FINAL_TYPE_UNKNOWN),
-            make_calypso_bitmap_element(
-                "HolderProfiles",
-                4,
-                (CalypsoElement[]){
-                    make_calypso_bitmap_element(
-                        "HolderProfileBitmap",
-                        3,
-                        (CalypsoElement[]){
-                            make_calypso_final_element(
-                                "HolderNetworkId", 24, "Réseau", CALYPSO_FINAL_TYPE_UNKNOWN),
-                            make_calypso_final_element(
-                                "HolderProfileNumber",
-                                8,
-                                "Numéro du statut",
-                                CALYPSO_FINAL_TYPE_NUMBER),
-                            make_calypso_final_element(
-                                "HolderProfileDate",
-                                14,
-                                "Date de fin de validité du statut",
-                                CALYPSO_FINAL_TYPE_DATE),
-                        }),
-                }),
-            make_calypso_bitmap_element(
-                "HolderData",
-                12,
-                (CalypsoElement[]){
-                    make_calypso_final_element(
-                        "HolderDataCardStatus", 4, "Type de carte", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataTeleReglement", 4, "Télérèglement", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataResidence", 17, "Ville du domicile", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataCommercialID", 6, "Produit carte", CALYPSO_FINAL_TYPE_NUMBER),
-                    make_calypso_final_element(
-                        "HolderDataWorkPlace", 17, "Lieu de travail", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataStudyPlace", 17, "Lieu d'étude", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataSaleDevice",
-                        16,
-                        "Numéro logique de SAM",
-                        CALYPSO_FINAL_TYPE_NUMBER),
-                    make_calypso_final_element(
-                        "HolderDataAuthenticator", 16, "Signature", CALYPSO_FINAL_TYPE_UNKNOWN),
-                    make_calypso_final_element(
-                        "HolderDataProfileStartDate1",
-                        14,
-                        "Date de début de validité du statut",
-                        CALYPSO_FINAL_TYPE_DATE),
-                    make_calypso_final_element(
-                        "HolderDataProfileStartDate2",
-                        14,
-                        "Date de début de validité du statut",
-                        CALYPSO_FINAL_TYPE_DATE),
-                    make_calypso_final_element(
-                        "HolderDataProfileStartDate3",
-                        14,
-                        "Date de début de validité du statut",
-                        CALYPSO_FINAL_TYPE_DATE),
-                    make_calypso_final_element(
-                        "HolderDataProfileStartDate4",
-                        14,
-                        "Date de début de validité du statut",
-                        CALYPSO_FINAL_TYPE_DATE),
-                }),
-        });
 
-    return IntercodeEnvHolderStructure;
+    return IntercodeCounterStructure;
 }
 
 const char* get_intercode_string_transition_type(int transition) {

+ 3 - 1
api/calypso/cards/intercode.h

@@ -3,11 +3,13 @@
 #ifndef INTERCODE_STRUCTURES_H
 #define INTERCODE_STRUCTURES_H
 
+CalypsoApp* get_intercode_structure_env_holder();
+
 CalypsoApp* get_intercode_structure_contract();
 
 CalypsoApp* get_intercode_structure_event();
 
-CalypsoApp* get_intercode_structure_env_holder();
+CalypsoApp* get_intercode_structure_counter();
 
 const char* get_intercode_string_transition_type(int transition);