FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kInfo.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_INFO_H
9 #define K_FIRESYNC_INFO_H
10 
11 #include <kFireSync/kFsDef.h>
12 
27 typedef k32s kViolation;
28 
30 #define kVIOLATION_NONE (0x00)
31 #define kVIOLATION_BOUNDS (0x01)
32 #define kVIOLATION_GRANULARITY (0x02)
33 #define kVIOLATION_UNIQUENESS (0x04)
34 #define kVIOLATION_EXISTENCE (0x08)
35 #define kVIOLATION_GROUP (0x10)
36 #define kVIOLATION_INVALID (0x20)
37 
45 typedef k32s kAdjust;
46 
48 #define kADJUST_NONE (0x00)
49 #define kADJUST_RELATIVE_FLOOR (0x01)
50 #define kADJUST_RELATIVE_CEIL (0x02)
51 #define kADJUST_ABSOLUTE_FLOOR (0x04)
52 #define kADJUST_ABSOLUTE_CEIL (0x08)
53 #define kADJUST_AUTO kADJUST_RELATIVE_FLOOR
54 
56 #include <kFireSync/Utils/kInfo.x.h>
57 
64 typedef struct kInfo
65 {
69 } kInfo;
70 
78 kFsFx(kStatus) kInfo_Init(kInfo* info);
79 
90 kFsFx(kStatus) kInfo_AppendErrors(const kInfo* info, kArrayList list, const kChar* source, const kChar* field);
91 
98 typedef struct kInfo32u
99 {
109 } kInfo32u;
110 
121 kFsFx(kStatus) kInfo32u_Init(kInfo32u* info, k32u min, k32u max, k32u granularity);
122 
131 kFsFx(kStatus) kInfo32u_Validate(kInfo32u* info, k32u value);
132 
142 kInlineFx(k32u) kInfo32u_Adjust(kInfo32u* info, k32u value, kAdjust style)
143 {
144  return xkAdjustInfoValue(*info, value, style);
145 }
146 
158 kFsFx(kStatus) kInfo32u_AppendErrors(const kInfo32u* info, kArrayList list, const kChar* source, const kChar* field, k32u value);
159 
166 typedef struct kInfo32s
167 {
177 } kInfo32s;
178 
189 kFsFx(kStatus) kInfo32s_Init(kInfo32s* info, k32s min, k32s max, k32s granularity);
190 
199 kFsFx(kStatus) kInfo32s_Validate(kInfo32s* info, k32s value);
200 
210 kInlineFx(k32s) kInfo32s_Adjust(kInfo32s* info, k32s value, kAdjust style)
211 {
212  return xkAdjustInfoValue(*info, value, style);
213 }
214 
226 kFsFx(kStatus) kInfo32s_AppendErrors(const kInfo32s* info, kArrayList list, const kChar* source, const kChar* field, k32s value);
227 
234 typedef struct kInfo64u
235 {
245 } kInfo64u;
246 
257 kFsFx(kStatus) kInfo64u_Init(kInfo64u* info, k64u min, k64u max, k64u granularity);
258 
267 kFsFx(kStatus) kInfo64u_Validate(kInfo64u* info, k64u value);
268 
278 kInlineFx(k64u) kInfo64u_Adjust(kInfo64u* info, k64u value, kAdjust style)
279 {
280  return xkAdjustInfoValue(*info, value, style);
281 }
282 
294 kFsFx(kStatus) kInfo64u_AppendErrors(const kInfo64u* info, kArrayList list, const kChar* source, const kChar* field, k64u value);
295 
302 typedef struct kInfo64s
303 {
313 } kInfo64s;
314 
325 kFsFx(kStatus) kInfo64s_Init(kInfo64s* info, k64s min, k64s max, k64s granularity);
326 
335 kFsFx(kStatus) kInfo64s_Validate(kInfo64s* info, k64s value);
336 
346 kInlineFx(k64s) kInfo64s_Adjust(kInfo64s* info, k64s value, kAdjust style)
347 {
348  return xkAdjustInfoValue(*info, value, style);
349 }
350 
362 kFsFx(kStatus) kInfo64s_AppendErrors(const kInfo64s* info, kArrayList list, const kChar* source, const kChar* field, k64s value);
363 
370 typedef struct kInfoSize
371 {
381 } kInfoSize;
382 
393 kFsFx(kStatus) kInfoSize_Init(kInfoSize* info, kSize min, kSize max, kSize granularity);
394 
403 kFsFx(kStatus) kInfoSize_Validate(kInfoSize* info, kSize value);
404 
414 kInlineFx(kSize) kInfoSize_Adjust(kInfoSize* info, kSize value, kAdjust style)
415 {
416  return xkAdjustInfoValue(*info, value, style);
417 }
418 
430 kFsFx(kStatus) kInfoSize_AppendErrors(const kInfoSize* info, kArrayList list, const kChar* source, const kChar* field, kSize value);
431 
438 typedef struct kInfo64f
439 {
451 } kInfo64f;
452 
462 kFsFx(kStatus) kInfo64f_Init(kInfo64f* info, k64f min, k64f max);
463 
472 kFsFx(kStatus) kInfo64f_Validate(kInfo64f* info, k64f value);
473 
485 kFsFx(kStatus) kInfo64f_AppendErrors(const kInfo64f* info, kArrayList list, const kChar* source, const kChar* field, k64f value);
486 
493 typedef struct kInfoBool
494 {
502 } kInfoBool;
503 
513 kFsFx(kStatus) kInfoBool_Init(kInfoBool* info, kBool min, kBool max);
514 
523 kFsFx(kStatus) kInfoBool_Validate(kInfoBool* info, kBool value);
524 
536 kFsFx(kStatus) kInfoBool_AppendErrors(const kInfoBool* info, kArrayList list, const kChar* source, const kChar* field, kBool value);
537 
544 typedef struct kInfoBits
545 {
551 } kInfoBits;
552 
561 kFsFx(kStatus) kInfoBits_Init(kInfoBits* info, k32u options);
562 
573 kFsFx(kStatus) kInfoBits_ValidateOne(kInfoBits* info, k32u option);
574 
585 kFsFx(kStatus) kInfoBits_ValidateAtLeastOne(kInfoBits* info, k32u options);
586 
598 kFsFx(kStatus) kInfoBits_AppendErrors(const kInfoBits* info, kArrayList list, const kChar* source, const kChar* field, k32u value);
599 
600 #include <kFireSync/Utils/kInfo.x.h>
601 
602 #endif
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:447
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:176
k32s granularity
Value must be evenly divisible by this number.
Definition: kInfo.h:172
kStatus kInfoBool_Validate(kInfoBool *info, kBool value)
Validates an input value against min/max values.
kStatus kInfo32s_Init(kInfo32s *info, k32s min, k32s max, k32s granularity)
Initializes a kInfo32s structure to default values.
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:173
kStatus kInfo64s_AppendErrors(const kInfo64s *info, kArrayList list, const kChar *source, const kChar *field, k64s value)
Appends violation descriptions to the given list.
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:499
kStatus kInfo_Init(kInfo *info)
Initializes a kInfo structure to default values.
k64s absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:305
kStatus kInfo32u_AppendErrors(const kInfo32u *info, kArrayList list, const kChar *source, const kChar *field, k32u value)
Appends violation descriptions to the given list.
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:108
k32s kInfo32s_Adjust(kInfo32s *info, k32s value, kAdjust style)
Adjusts the specified value based on min/max/granularity constaints.
Definition: kInfo.h:210
kSize absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:372
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:242
kBool relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:497
kBool isGrouped
Value is constrained to be the same as its peers within a group.
Definition: kInfo.h:549
k64u absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:236
kSize absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:373
k64f absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:440
kStatus kInfo64f_AppendErrors(const kInfo64f *info, kArrayList list, const kChar *source, const kChar *field, k64f value)
Appends violation descriptions to the given list.
k32u granularity
Value must be evenly divisible by this number.
Definition: kInfo.h:104
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:107
Represents constraint and validity information for a bit flag setting.
Definition: kInfo.h:544
k64u relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:238
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:378
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:311
k32u relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:103
Represents constraint and validity information for a 64-bit signed integer setting.
Definition: kInfo.h:302
Type of adjustment to perform to bring a setting into conformance with its constraints.
kStatus kInfo64f_Init(kInfo64f *info, k64f min, k64f max)
Initializes a kInfo64f structure to default values.
kStatus kInfoBool_AppendErrors(const kInfoBool *info, kArrayList list, const kChar *source, const kChar *field, kBool value)
Appends violation descriptions to the given list.
k64s granularity
Value must be evenly divisible by this number.
Definition: kInfo.h:308
k64u granularity
Value must be evenly divisible by this number.
Definition: kInfo.h:240
kStatus kInfo64s_Validate(kInfo64s *info, k64s value)
Validates an input value against min/max/granularity values.
k32u relativeOptions
Set of valid options, limited by current values of other (more dominant) settings.
Definition: kInfo.h:547
kStatus kInfo64u_Validate(kInfo64u *info, k64u value)
Validates an input value against min/max/granularity values.
k32s absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:168
Represents constraint and validity information for a double setting.
Definition: kInfo.h:438
k32u absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:101
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:244
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:66
Represents constraint and validity information for a 32-bit signed integer setting.
Definition: kInfo.h:166
kStatus kInfoSize_AppendErrors(const kInfoSize *info, kArrayList list, const kChar *source, const kChar *field, kSize value)
Appends violation descriptions to the given list.
kBool absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:495
k32s relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:171
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:448
k64u relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:239
k64s relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:307
kStatus kInfoBits_AppendErrors(const kInfoBits *info, kArrayList list, const kChar *source, const kChar *field, k32u value)
Appends violation descriptions to the given list.
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:310
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:243
kStatus kInfo64s_Init(kInfo64s *info, k64s min, k64s max, k64s granularity)
Initializes a kInfo64s structure to default values.
k64s relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:306
k64s kInfo64s_Adjust(kInfo64s *info, k64s value, kAdjust style)
Adjusts the specified value based on min/max/granularity constaints.
Definition: kInfo.h:346
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:68
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:309
kStatus kInfo64f_Validate(kInfo64f *info, k64f value)
Validates an input value against min/max values.
kSize granularity
Value must be evenly divisible by this number.
Definition: kInfo.h:376
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:450
kBool relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:498
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:312
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:105
k32u absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:100
Essential API declarations for the kFireSync library.
kStatus kInfo32u_Validate(kInfo32u *info, k32u value)
Validates an input value against min/max/granularity values.
kStatus kInfo64u_AppendErrors(const kInfo64u *info, kArrayList list, const kChar *source, const kChar *field, k64u value)
Appends violation descriptions to the given list.
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:106
Represents types of constraint violations.
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:377
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:379
k64u kInfo64u_Adjust(kInfo64u *info, k64u value, kAdjust style)
Adjusts the specified value based on min/max/granularity constaints.
Definition: kInfo.h:278
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:449
k32u relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:102
k64s absoluteMin
Minimum valid value under any circumstances.
Definition: kInfo.h:304
k64f accurate
Accurate representation of current value, typically used for display in meaningful units (optional)...
Definition: kInfo.h:380
k64f relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:443
kBool isGrouped
Value is constrained to be the same as its peers within a group.
Definition: kInfo.h:67
kStatus kInfo_AppendErrors(const kInfo *info, kArrayList list, const kChar *source, const kChar *field)
Appends violation descriptions to the given list.
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:241
Represents constraint and validity information for a 64-bit unsigned integer setting.
Definition: kInfo.h:234
kStatus kInfoBits_Init(kInfoBits *info, k32u options)
Initializes a kInfoBits structure to default values.
kStatus kInfo32s_Validate(kInfo32s *info, k32s value)
Validates an input value against min/max/granularity values.
k64u absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:237
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:550
k32u kInfo32u_Adjust(kInfo32u *info, k32u value, kAdjust style)
Adjusts the specified value based on min/max/granularity constaints.
Definition: kInfo.h:142
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:175
k32s relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:170
k32s absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:169
kViolation violations
Constraints violated by the current value.
Definition: kInfo.h:501
kStatus kInfoSize_Validate(kInfoSize *info, kSize value)
Validates an input value against min/max/granularity values.
kSize relativeMax
Maximum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:375
Represents constraint and validity information for a 32-bit unsigned integer setting.
Definition: kInfo.h:98
kBool isGrouped
Value is constrained to be the same as its peers within a group. (e.g. periods of states belonging to...
Definition: kInfo.h:174
kStatus kInfo32s_AppendErrors(const kInfo32s *info, kArrayList list, const kChar *source, const kChar *field, k32s value)
Appends violation descriptions to the given list.
kBool isGrouped
Value is constrained to be the same as its peers within a group.
Definition: kInfo.h:500
Represents constraint and validity information for a kSize setting.
Definition: kInfo.h:370
kStatus kInfoBits_ValidateOne(kInfoBits *info, k32u option)
Checks whether the specified option is valid.
kSize kInfoSize_Adjust(kInfoSize *info, kSize value, kAdjust style)
Adjusts the specified value based on min/max/granularity constaints.
Definition: kInfo.h:414
k32u absoluteOptions
Set of valid options under any circumstances.
Definition: kInfo.h:546
kSize relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:374
kStatus kInfoSize_Init(kInfoSize *info, kSize min, kSize max, kSize granularity)
Initializes a kInfoSize structure to default values.
kStatus kInfo32u_Init(kInfo32u *info, k32u min, k32u max, k32u granularity)
Initializes a kInfo32u structure to default values.
k64f absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:441
kBool isReadOnly
Value is read-only (cannot be modified).
Definition: kInfo.h:548
Represents constraint and validity information for a general setting.
Definition: kInfo.h:64
k64f relativeMin
Minimum valid value, limited by current values of other (more dominant) settings. ...
Definition: kInfo.h:442
kStatus kInfo64u_Init(kInfo64u *info, k64u min, k64u max, k64u granularity)
Initializes a kInfo64u structure to default values.
k64f granularity
Value step size (provided only if available; otherwise, k64F_NULL).
Definition: kInfo.h:444
k64f next
Next valid value (provided only if available; otherwise, k64F_NULL).
Definition: kInfo.h:446
Represents constraint and validity information for a boolean setting.
Definition: kInfo.h:493
kStatus kInfoBool_Init(kInfoBool *info, kBool min, kBool max)
Initializes a kInfoBool structure to default values.
kStatus kInfoBits_ValidateAtLeastOne(kInfoBits *info, k32u options)
Checks whether the specified options are valid, setting appropriate violation flags.
k64f previous
Previous valid value (provided only if available; otherwise, k64F_NULL).
Definition: kInfo.h:445
kBool absoluteMax
Maximum valid value under any circumstances.
Definition: kInfo.h:496