Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/standalone-sequence' into stan…
Browse files Browse the repository at this point in the history
…dalone
  • Loading branch information
aliddell committed Sep 3, 2024
2 parents c7a4827 + ed8be14 commit 0d88249
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 1 deletion.
22 changes: 21 additions & 1 deletion src/include/zarr.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ extern "C"
typedef enum
{
ZarrDimensionType_Space = 0,
ZarrDimensionType_Time,
ZarrDimensionType_Channel,
ZarrDimensionType_Time,
ZarrDimensionType_Other,
ZarrDimensionTypeCount
} ZarrDimensionType;
Expand Down Expand Up @@ -233,6 +233,21 @@ extern "C"
const char* s3_secret_access_key,
size_t bytes_of_s3_secret_access_key);

/**
* @brief Set JSON-formatted external metadata for the Zarr stream.
* @details This metadata will be written to acquire-zarr.json in the
* metadata directory of the Zarr store. This parameter is optional.
* @param settings[in, out] settings The Zarr stream settings struct.
* @param external_metadata JSON-formatted external metadata.
* @param bytes_of_external_metadata The length of @p external_metadata in
* bytes, including the null terminator.
* @return ZarrError_Success on success, or an error code on failure.
*/
ZarrError ZarrStreamSettings_set_external_metadata(
ZarrStreamSettings* settings,
const char* external_metadata,
size_t bytes_of_external_metadata);

/**
* @brief Set the data type for the Zarr stream.
* @param[in, out] settings The Zarr stream settings struct.
Expand Down Expand Up @@ -357,6 +372,9 @@ extern "C"
const char* ZarrStreamSettings_get_s3_secret_access_key(
const ZarrStreamSettings* settings);

const char* ZarrStreamSettings_get_external_metadata(
const ZarrStreamSettings* settings);

ZarrDataType ZarrStreamSettings_get_data_type(
const ZarrStreamSettings* settings);

Expand Down Expand Up @@ -467,6 +485,8 @@ extern "C"
const char* ZarrStream_get_s3_access_key_id(const ZarrStream* stream);
const char* ZarrStream_get_s3_secret_access_key(const ZarrStream* stream);

const char* ZarrStream_get_external_metadata(const ZarrStream* stream);

ZarrCompressor ZarrStream_get_compressor(const ZarrStream* stream);
ZarrCompressionCodec ZarrStream_get_compression_codec(
const ZarrStream* stream);
Expand Down
15 changes: 15 additions & 0 deletions src/internal/stream.settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,15 @@ ZarrStreamSettings_set_s3_secret_access_key(
settings, s3_secret_access_key, bytes_of_s3_secret_access_key);
}

ZarrError
ZarrStreamSettings_set_external_metadata(ZarrStreamSettings* settings,
const char* external_metadata,
size_t bytes_of_external_metadata)
{
SETTINGS_SET_STRING(
settings, external_metadata, bytes_of_external_metadata);
}

ZarrError
ZarrStreamSettings_set_data_type(ZarrStreamSettings* settings,
ZarrDataType data_type)
Expand Down Expand Up @@ -335,6 +344,12 @@ ZarrStreamSettings_get_s3_secret_access_key(const ZarrStreamSettings* settings)
SETTINGS_GET_STRING(settings, s3_secret_access_key);
}

const char*
ZarrStreamSettings_get_external_metadata(const ZarrStreamSettings* settings)
{
SETTINGS_GET_STRING(settings, external_metadata);
}

ZarrDataType
ZarrStreamSettings_get_data_type(const ZarrStreamSettings* settings)
{
Expand Down
3 changes: 3 additions & 0 deletions src/internal/stream.settings.hh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ struct ZarrStreamSettings_s
std::string s3_access_key_id; /* Access key ID for the S3 service */
std::string s3_secret_access_key; /* Secret access key for the S3 service */

std::string external_metadata; /* JSON formatted external metadata for the
base array */

uint8_t dtype; /* Data type of the base array */

uint8_t compressor; /* Compression library to use */
Expand Down
5 changes: 5 additions & 0 deletions src/internal/zarr.stream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,11 @@ extern "C"
STREAM_GET_STRING(stream, s3_secret_access_key);
}

const char* ZarrStream_get_external_metadata(const ZarrStream* stream)
{
STREAM_GET_STRING(stream, external_metadata);
}

ZarrCompressor ZarrStream_get_compressor(const ZarrStream* stream)
{
if (!stream) {
Expand Down

0 comments on commit 0d88249

Please sign in to comment.