Ajout de la lecture de carte CPS dans le moteur SESAM-Vitale #29
No reviewers
Labels
No Label
bug
duplicate
enhancement
help wanted
independant
invalid
module/autre
module/backend
module/desktop
module/docs
module/frontend
module/scripts
module/sesam-vitale
module/utils
open-source
question
to-triage
wontfix
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: P4Pillon/Krys4lide#29
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature_ssv_lire_carte_ps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implémentation relativement bas niveau de la lecture de carte CPS.
closes #5
L'implémentation de cette fonctionnalité dans l'interface sera fait par #6
18dbbdb702
to538675de1d
538675de1d
to0be0b08f89
WIP: feature_ssv_lire_carte_psto Ajout de la lecture de carte CPS dans le moteur SESAM-Vitale@ -0,0 +277,4 @@
48, 2, 49, 48, 2, 48, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49,
];
let blocks = decode_ssv_memory(bytes, bytes.len());
let carte_ps = decode_carte_ps(blocks);
@julien.misiak : est-ce que tu peux vérifier que les valeurs des champs de la carte vitale, ci-dessous, ont les bonnes valeurs ?
Les valeurs sont OK
@ -0,0 +7,4 @@
2. CE = Caractères « Etendus » (ISO 8859-1)
3. CA = Caractères Alphanumériques (ASCII?)
4. CN = Caractères Numériques
*/
//
@ -0,0 +86,4 @@
let mut carte_ps = CartePS::default();
for group in groups {
for (field_index, field) in group.content.iter().enumerate() {
match (group.id, field_index + 1) {
field
, il est structurel et on en aura besoin plus tard@ -0,0 +119,4 @@
let byte = field.content[0];
carte_ps.titulaire.categorie_carte = byte as char;
}
(2, 1) => {
@ -0,0 +247,4 @@
.habilitation_à_signer_un_lot =
String::from_utf8_lossy(field.content).to_string();
}
_ => (),
@ -0,0 +255,4 @@
}
#[cfg(test)]
mod test_decode_carte_ps {
@ -4,3 +3,4 @@
*
* Low level bindings to the SSVLIB dynamic library.
* TODO : look for creating a dedicated *-sys crate : https://kornel.ski/rust-sys-crate
*/
///
@ -3,3 +5,4 @@
fn main() {
ssvlib_demo::demo();
// XXX
@ -0,0 +19,4 @@
/* Longueur:
* - si le bit de poids fort du premier octet est à 0, la longueur est codée sur un octet
* - si le bit de poids fort du premier octet est à 1, les 7 bits de poids faible codent le nombre d'octets utilisés pour coder la longueur
*/
@ -3,3 +5,3 @@
* based on the low level bindings in libssv.rs.
*
*
*/
@ -82,3 +48,3 @@
* TODO : this is probably not working on release, because I'm not sure it exists a CARGO_MANIFEST_DIR and so it can find the `.env`
* Maybe we could use a system standard config path to store a config file
*/
*/
//
@ -87,3 +53,3 @@
dotenv::from_path(manifest_path.join(".env")).ok();
println!("------- Demo for the SSV library --------");
println!("------- Demo for the SSV library 2 --------");
2