| 1179:ca4c6f590a08 | 1180:4c3a69b9723a |
|---|---|
| 89 typedef struct cx_properties_config_s CxPropertiesConfig; | 89 typedef struct cx_properties_config_s CxPropertiesConfig; |
| 90 | 90 |
| 91 /** | 91 /** |
| 92 * Default properties configuration. | 92 * Default properties configuration. |
| 93 */ | 93 */ |
| 94 cx_attr_export | |
| 94 extern const CxPropertiesConfig cx_properties_config_default; | 95 extern const CxPropertiesConfig cx_properties_config_default; |
| 95 | 96 |
| 96 /** | 97 /** |
| 97 * Status codes for the properties interface. | 98 * Status codes for the properties interface. |
| 98 */ | 99 */ |
| 325 * @param prop the properties interface | 326 * @param prop the properties interface |
| 326 * @param config the properties configuration | 327 * @param config the properties configuration |
| 327 * @see cxPropertiesInitDefault() | 328 * @see cxPropertiesInitDefault() |
| 328 */ | 329 */ |
| 329 cx_attr_nonnull | 330 cx_attr_nonnull |
| 331 cx_attr_export | |
| 330 void cxPropertiesInit(CxProperties *prop, CxPropertiesConfig config); | 332 void cxPropertiesInit(CxProperties *prop, CxPropertiesConfig config); |
| 331 | 333 |
| 332 /** | 334 /** |
| 333 * Destroys the properties interface. | 335 * Destroys the properties interface. |
| 334 * | 336 * |
| 339 * add call to this function. | 341 * add call to this function. |
| 340 * | 342 * |
| 341 * @param prop the properties interface | 343 * @param prop the properties interface |
| 342 */ | 344 */ |
| 343 cx_attr_nonnull | 345 cx_attr_nonnull |
| 346 cx_attr_export | |
| 344 void cxPropertiesDestroy(CxProperties *prop); | 347 void cxPropertiesDestroy(CxProperties *prop); |
| 345 | 348 |
| 346 /** | 349 /** |
| 347 * Destroys and re-initializes the properties interface. | 350 * Destroys and re-initializes the properties interface. |
| 348 * | 351 * |
| 388 * @retval non-zero a memory allocation was necessary but failed | 391 * @retval non-zero a memory allocation was necessary but failed |
| 389 * @see cxPropertiesFill() | 392 * @see cxPropertiesFill() |
| 390 */ | 393 */ |
| 391 cx_attr_nonnull | 394 cx_attr_nonnull |
| 392 cx_attr_access_r(2, 3) | 395 cx_attr_access_r(2, 3) |
| 396 cx_attr_export | |
| 393 int cxPropertiesFilln( | 397 int cxPropertiesFilln( |
| 394 CxProperties *prop, | 398 CxProperties *prop, |
| 395 const char *buf, | 399 const char *buf, |
| 396 size_t len | 400 size_t len |
| 397 ); | 401 ); |
| 493 * @param prop the properties interface | 497 * @param prop the properties interface |
| 494 * @param buf a pointer to stack memory | 498 * @param buf a pointer to stack memory |
| 495 * @param capacity the capacity of the stack memory | 499 * @param capacity the capacity of the stack memory |
| 496 */ | 500 */ |
| 497 cx_attr_nonnull | 501 cx_attr_nonnull |
| 502 cx_attr_export | |
| 498 void cxPropertiesUseStack( | 503 void cxPropertiesUseStack( |
| 499 CxProperties *prop, | 504 CxProperties *prop, |
| 500 char *buf, | 505 char *buf, |
| 501 size_t capacity | 506 size_t capacity |
| 502 ); | 507 ); |
| 531 * @retval CX_PROPERTIES_INVALID_MISSING_DELIMITER the properties data contains a line without delimiter | 536 * @retval CX_PROPERTIES_INVALID_MISSING_DELIMITER the properties data contains a line without delimiter |
| 532 * @retval CX_PROPERTIES_BUFFER_ALLOC_FAILED an internal allocation was necessary but failed | 537 * @retval CX_PROPERTIES_BUFFER_ALLOC_FAILED an internal allocation was necessary but failed |
| 533 */ | 538 */ |
| 534 cx_attr_nonnull | 539 cx_attr_nonnull |
| 535 cx_attr_nodiscard | 540 cx_attr_nodiscard |
| 541 cx_attr_export | |
| 536 CxPropertiesStatus cxPropertiesNext( | 542 CxPropertiesStatus cxPropertiesNext( |
| 537 CxProperties *prop, | 543 CxProperties *prop, |
| 538 cxstring *key, | 544 cxstring *key, |
| 539 cxstring *value | 545 cxstring *value |
| 540 ); | 546 ); |
| 551 * @return the sink | 557 * @return the sink |
| 552 * @see cxPropertiesLoad() | 558 * @see cxPropertiesLoad() |
| 553 */ | 559 */ |
| 554 cx_attr_nonnull | 560 cx_attr_nonnull |
| 555 cx_attr_nodiscard | 561 cx_attr_nodiscard |
| 562 cx_attr_export | |
| 556 CxPropertiesSink cxPropertiesMapSink(CxMap *map); | 563 CxPropertiesSink cxPropertiesMapSink(CxMap *map); |
| 557 | 564 |
| 558 /** | 565 /** |
| 559 * Creates a properties source based on an UCX string. | 566 * Creates a properties source based on an UCX string. |
| 560 * | 567 * |
| 561 * @param str the string | 568 * @param str the string |
| 562 * @return the properties source | 569 * @return the properties source |
| 563 * @see cxPropertiesLoad() | 570 * @see cxPropertiesLoad() |
| 564 */ | 571 */ |
| 565 cx_attr_nodiscard | 572 cx_attr_nodiscard |
| 573 cx_attr_export | |
| 566 CxPropertiesSource cxPropertiesStringSource(cxstring str); | 574 CxPropertiesSource cxPropertiesStringSource(cxstring str); |
| 567 | 575 |
| 568 /** | 576 /** |
| 569 * Creates a properties source based on C string with the specified length. | 577 * Creates a properties source based on C string with the specified length. |
| 570 * | 578 * |
| 574 * @see cxPropertiesLoad() | 582 * @see cxPropertiesLoad() |
| 575 */ | 583 */ |
| 576 cx_attr_nonnull | 584 cx_attr_nonnull |
| 577 cx_attr_nodiscard | 585 cx_attr_nodiscard |
| 578 cx_attr_access_r(1, 2) | 586 cx_attr_access_r(1, 2) |
| 587 cx_attr_export | |
| 579 CxPropertiesSource cxPropertiesCstrnSource(const char *str, size_t len); | 588 CxPropertiesSource cxPropertiesCstrnSource(const char *str, size_t len); |
| 580 | 589 |
| 581 /** | 590 /** |
| 582 * Creates a properties source based on a C string. | 591 * Creates a properties source based on a C string. |
| 583 * | 592 * |
| 589 * @see cxPropertiesLoad() | 598 * @see cxPropertiesLoad() |
| 590 */ | 599 */ |
| 591 cx_attr_nonnull | 600 cx_attr_nonnull |
| 592 cx_attr_nodiscard | 601 cx_attr_nodiscard |
| 593 cx_attr_cstr_arg(1) | 602 cx_attr_cstr_arg(1) |
| 603 cx_attr_export | |
| 594 CxPropertiesSource cxPropertiesCstrSource(const char *str); | 604 CxPropertiesSource cxPropertiesCstrSource(const char *str); |
| 595 | 605 |
| 596 /** | 606 /** |
| 597 * Creates a properties source based on an FILE. | 607 * Creates a properties source based on an FILE. |
| 598 * | 608 * |
| 603 * @see cxPropertiesLoad() | 613 * @see cxPropertiesLoad() |
| 604 */ | 614 */ |
| 605 cx_attr_nonnull | 615 cx_attr_nonnull |
| 606 cx_attr_nodiscard | 616 cx_attr_nodiscard |
| 607 cx_attr_access_r(1) | 617 cx_attr_access_r(1) |
| 618 cx_attr_export | |
| 608 CxPropertiesSource cxPropertiesFileSource(FILE *file, size_t chunk_size); | 619 CxPropertiesSource cxPropertiesFileSource(FILE *file, size_t chunk_size); |
| 609 | 620 |
| 610 | 621 |
| 611 /** | 622 /** |
| 612 * Loads properties data from a source and transfers it to a sink. | 623 * Loads properties data from a source and transfers it to a sink. |
| 635 * @retval CX_PROPERTIES_INVALID_EMPTY_KEY the properties data contains an illegal empty key | 646 * @retval CX_PROPERTIES_INVALID_EMPTY_KEY the properties data contains an illegal empty key |
| 636 * @retval CX_PROPERTIES_INVALID_MISSING_DELIMITER the properties data contains a line without delimiter | 647 * @retval CX_PROPERTIES_INVALID_MISSING_DELIMITER the properties data contains a line without delimiter |
| 637 * @retval CX_PROPERTIES_BUFFER_ALLOC_FAILED an internal allocation was necessary but failed | 648 * @retval CX_PROPERTIES_BUFFER_ALLOC_FAILED an internal allocation was necessary but failed |
| 638 */ | 649 */ |
| 639 cx_attr_nonnull | 650 cx_attr_nonnull |
| 651 cx_attr_export | |
| 640 CxPropertiesStatus cxPropertiesLoad( | 652 CxPropertiesStatus cxPropertiesLoad( |
| 641 CxProperties *prop, | 653 CxProperties *prop, |
| 642 CxPropertiesSink sink, | 654 CxPropertiesSink sink, |
| 643 CxPropertiesSource source | 655 CxPropertiesSource source |
| 644 ); | 656 ); |