Information technology — Object oriented BioAPI — Part 4: C++ implementation

This document specifies an interface of a BioAPI C++ framework and BioAPI C++ BSP which will mirror the corresponding components specified in ISO/IEC 30106-1. The semantic equivalence of this document will be maintained with ISO/IEC 30106-2 (Java implementation) and ISO/IEC 30106-3 (C# implementation). In spite of the differences in actual parameters passed between functions, the names and interface structure are the same.

Technologies de l'information — Objet orienté BioAPI — Partie 4: Implémentation C++

General Information

Status
Published
Publication Date
14-Sep-2019
Current Stage
6060 - International Standard published
Start Date
15-Sep-2019
Due Date
09-Dec-2020
Completion Date
15-Sep-2019
Ref Project

Buy Standard

Standard
ISO/IEC 30106-4:2019 - Information technology -- Object oriented BioAPI
English language
57 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 30106-4
First edition
2019-09
Information technology — Object
oriented BioAPI —
Part 4:
C++ implementation
Technologies de l'information — Objet orienté BioAPI —
Partie 4: Implémentation C++
Reference number
ISO/IEC 30106-4:2019(E)
©
ISO/IEC 2019

---------------------- Page: 1 ----------------------
ISO/IEC 30106-4:2019(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2019
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 30106-4:2019(E)

Contents Page
Foreword .v
Introduction .vi
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 BioAPI C++ general requirements . 1
5 Data types and constants . 2
5.1 Basic data types . 2
5.1.1 Enumerations . 2
5.1.2 BioAPIData .10
5.1.3 RegistryID .10
5.1.4 UUID . .10
5.1.5 Date and Time .10
5.2 Class ACBioParameters .11
5.2.1 Description . . .11
5.2.2 Properties summary .11
5.3 Class BFPListElement . .11
5.3.1 Description . . .11
5.3.2 Properties summary .11
5.4 Class BFPSchema.11
5.4.1 Description . . .11
5.4.2 Properties summary .11
5.5 Class BIR .12
5.5.1 Description . . .12
5.5.2 Properties summary .12
5.5.3 Method summary .13
5.6 Class BSPSchema .14
5.6.1 Description . . .14
5.6.2 Properties summary .14
5.7 Class candidate .15
5.7.1 Description . . .15
5.7.2 Properties summary .15
5.8 Class FrameworkSchema .15
5.8.1 Description . . .15
5.8.2 Properties summary .15
5.9 Class GUIBitmap .16
5.9.1 Description . . .16
5.9.2 Properties .16
5.10 Class Identifypopulation .16
5.10.1 Description . . .16
5.10.2 Properties summary .16
5.10.3 Method summary .16
5.11 Class PopulationMember .17
5.11.1 Description . . .17
5.11.2 Properties summary .17
5.12 Class SecurityProfileType .17
5.12.1 Description . . .17
5.12.2 Properties summary .17
5.13 Class UnitList .18
5.13.1 Description . . .18
5.13.2 Properties summary .18
5.13.3 Methods summary .18
© ISO/IEC 2019 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 30106-4:2019(E)

5.14 Class UnitListElement .18
5.14.1 Description . . .18
5.14.2 Properties summary .18
5.15 Class UnitSchema .19
5.15.1 Description . . .19
5.15.2 Properties summary .19
6 Object oriented interfaces for supporting BioAPI_Units .19
6.1 General .19
6.2 Interface IArchive .20
6.2.1 Description . . .20
6.2.2 Method summary .20
6.3 Interface IComparison .23
6.3.1 Description . . .23
6.3.2 Method summary .24
6.4 Interface IProcessing .27
6.4.1 Description . . .27
6.4.2 Method summary .27
6.5 Interface ISensor .28
6.5.1 Description . . .28
6.5.2 Method summary .28
7 BFP level .29
7.1 Interface IBFP .29
7.1.1 Description . . .29
7.1.2 Imported interfaces .30
7.1.3 Properties summary .30
7.1.4 Events summary .30
7.1.5 Method summary .30
8 BSP level .33
8.1 Interface IBSP .33
8.1.1 Description . . .33
8.1.2 Imported interfaces .34
8.1.3 Properties summary .34
8.1.4 Events summary .34
8.1.5 Method summary .34
9 Framework level .41
9.1 Interface IComponentRegistry .41
9.1.1 Description . . .41
9.1.2 Method summary .41
9.2 Interface IFramework .43
9.2.1 Description . . .43
9.2.2 Inherited interfaces .43
9.2.3 Properties summary .43
9.2.4 Method summary .43
10 Application interaction .47
10.1 class BioAPIException : Exception .47
10.1.1 Description . . .47
10.1.2 Constructor summary .48
10.1.3 Properties summary .48
10.1.4 Method Summary .49
10.2 Callback functions .49
10.2.1 Description . . .49
10.2.2 Callback functions specification .49
Annex A (informative) Calling sequence examples and sample code .56
Bibliography .57
iv © ISO/IEC 2019 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 30106-4:2019(E)

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that
are members of ISO or IEC participate in the development of International Standards through
technical committees established by the respective organization to deal with particular fields of
technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with ISO and IEC, also
take part in the work.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www .iso .org/patents) or the IEC
list of patent declarations received (see http: //patents .iec .ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see www .iso
.org/iso/foreword .html.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 37, Biometrics.
A list of all parts in the ISO/IEC 30106 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www .iso .org/members .html.
© ISO/IEC 2019 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 30106-4:2019(E)

Introduction
In this document an application programming interface expressed in C++ language is specified. C++ is
a basic, general-purpose, object-oriented programming language that is used in most computer-based
platforms and operating systems.
One of the advantages of using C++ is that, as it is supported by most computer platforms, the
development, in source code, may be fully (or at least to a great part) supported from one platform to
another.
C++ is a programming language standardized by ISO/IEC 14882, and most development platforms allow
its use in conjunction to other programming languages and frameworks.
This document is drafted to make a clear and usable interpretation of ISO/IEC 30106-1, when using C++
programming language.
vi © ISO/IEC 2019 – All rights reserved

---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISO/IEC 30106-4:2019(E)
Information technology — Object oriented BioAPI —
Part 4:
C++ implementation
1 Scope
This document specifies an interface of a BioAPI C++ framework and BioAPI C++ BSP which will
mirror the corresponding components specified in ISO/IEC 30106-1. The semantic equivalence of this
document will be maintained with ISO/IEC 30106-2 (Java implementation) and ISO/IEC 30106-3 (C#
implementation). In spite of the differences in actual parameters passed between functions, the names
and interface structure are the same.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 30106-1, Information technology — Object oriented BioAPI — Architecture
ISO/IEC 30106-2, Information technology — Object oriented BioAPI — Part 2: Java implementation
ISO/IEC 30106-3, Information technology — Object oriented BioAPI — Part 3: C# implementation
ISO/IEC 14882, Programming languages — C++
3 Terms and definitions
No terms and definitions are listed in this document.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https: //www .iso .org/obp
— IEC Electropedia: available at http: //www .electropedia .org/
4 BioAPI C++ general requirements
All classes defined in the scope of this document shall have a constructor with all its properties as
parameters, as well as a destructor that will free all allocated memory. In addition, the definition of
each of the classes may contain further requirements for the constructor.
The destructor shall fullfill at least, the same requirements that the corresponding Dispose() method
defined in ISO/IEC 30106-2 and ISO/IEC 30106-3.
In addition, most implementations shall declare the classes as exportable. Therefore, in this document a
constant called BIOAPI is defined, allowing exportation of the classes.
EXAMPLE In Windows the definition of BIOAPI is: #define BIOAPI __declspec(dllexport)
To illustrate the use of the specification given in this document, refer to Annex A.
© ISO/IEC 2019 – All rights reserved 1

---------------------- Page: 7 ----------------------
ISO/IEC 30106-4:2019(E)

5 Data types and constants
5.1 Basic data types
5.1.1 Enumerations
5.1.1.1  BiometricSubtype
Description: Subtype of the biometric data used (e.g. which finger used in finger modalities).
When transferring this information into/from a binary format, the Biometric
Subtype constants defined in ISO/IEC 30106-1 shall be used.
Enum Constant — NoValueAvailable
Summary:
— Left
— Right
— LeftThumb
— LeftIndexFinger
— LeftMiddleFinger
— LeftRingFinger
— LeftLittleFinger
— RightThumb
— RightIndexFinger
— RightMiddleFinger
— RightRingFinger
— RightLittleFinger
— LeftPalm
— LeftBackOfHand
— LeftWrist
— RightPalm
— RightBackOfHand
— RightWrist
2 © ISO/IEC 2019 – All rights reserved

---------------------- Page: 8 ----------------------
ISO/IEC 30106-4:2019(E)

5.1.1.2  BiometricType
Description: Type of the biometric data used (e.g. modality). When transferring this infor-
mation into/from a binary format, the Biometric Type constants defined in ISO/
IEC 30106-1 shall be used.
Enum Constant — NoValueAvailable
Summary:
— MultipleBiometricTypes
— Face
— Voice
— Finger
— Iris
— Retina
— HandGeometry
— SignatureOrSign
— Keystroke
— LipMovement
— Gait
— Vein
— DNA
— Ear
— Foot
— Scent

5.1.1.3  BIRDatabaseAccess
Description: Defines the access mode to the database
Enum Constant — Read – access mode which allows only retrieval of records.
Summary:
— ReadWrite – access mode which allows addition, deletion and retrieval of
records.
— Write – access mode which allows addition and deletion of records, but
retrieval is not allowed
© ISO/IEC 2019 – All rights reserved 3

---------------------- Page: 9 ----------------------
ISO/IEC 30106-4:2019(E)

5.1.1.4  BSPSchemaOperations
Description: Enumerates the different operations that a BSP can offer to the biometric appli-
cation (see 5.6)
Enum Constant — CalibrateSensor (0x00020000)
Summary:
— Capture (0x00000004)
— CheckQuality (0x00080000)
— ControlUnit (0x00400000)
— CreateTemplate (0x00000008)
— CreateTemplateWithAuxBIR (0x00000020)
— EnableEvents (0x00000001)
— Enrol (0x00000100)
— GetIndicatorStatus (0x00010000)
— Identify (0x00000080)
— IdentifyAggregate (0x00000400)
— PresetIdentifyPopulation (0x00001000)
— Process (0x00000010)
— ProcessWithAuxBIR (0x01000000)
— QueryBFPs (0x00200000)
— QueryUnits (0x00100000)
— Security (0x10000000)
— SetIndicatorStatus (0x00008000)
— SetPowerMode (0x00004000)
— Verify (0x00000040)
— VerifyAggregated (0x00000200)
— VerifyWithAuxBIR (0x02000000)
4 © ISO/IEC 2019 – All rights reserved

---------------------- Page: 10 ----------------------
ISO/IEC 30106-4:2019(E)

5.1.1.5  BSPSchemaOptions
Description: Enumerates the different options that can a handle
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.