RAVE
file_object_odim_io.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2025 Swedish Meteorological and Hydrological Institute, SMHI,
3
4This file is part of RAVE.
5
6RAVE is free software: you can redistribute it and/or modify
7it under the terms of the GNU Lesser General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11RAVE is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU Lesser General Public License for more details.
15
16You should have received a copy of the GNU Lesser General Public License
17along with RAVE. If not, see <http://www.gnu.org/licenses/>.
18------------------------------------------------------------------------*/
26#ifndef FILE_OBJECT_ODIM_IO_H
27#define FILE_OBJECT_ODIM_IO_H
28#include <lazy_nodelist_reader.h>
29#include "rave_object.h"
30#include "hlhdf.h"
31#include "file_object.h"
32#include "rave_list.h"
33
38
43
50
57
65
73
81
88FileObject_t* FileObjectOdimIO_read(FileObjectOdimIO_t* self, LazyNodeListReader_t* lazyReader);
89
97int FileObjectOdimIO_fill(FileObjectOdimIO_t* self, FileObject_t* fobj, HL_NodeList* nodelist);
98
99#endif /* POLAR_ODIM_IO_H */
This is a general file object.
struct _FileObject_t FileObject_t
Defines a general file object.
Definition file_object.h:44
RaveCoreObjectType FileObjectOdimIO_TYPE
Type definition to use when creating a rave object.
Definition file_object_odim_io.c:344
void FileObjectOdimIO_setVersion(FileObjectOdimIO_t *self, RaveIO_ODIM_Version version)
Sets the version that this io class should handle.
Definition file_object_odim_io.c:82
RaveIO_ODIM_Version FileObjectOdimIO_getVersion(FileObjectOdimIO_t *self)
Returns the version that this io class handles.
Definition file_object_odim_io.c:88
int FileObjectOdimIO_fill(FileObjectOdimIO_t *self, FileObject_t *fobj, HL_NodeList *nodelist)
Fills a nodelist with information about a file object.
Definition file_object_odim_io.c:326
struct _FileObjectOdimIO_t FileObjectOdimIO_t
Defines the odim h5 adaptor for polar products.
Definition file_object_odim_io.h:37
FileObject_t * FileObjectOdimIO_read(FileObjectOdimIO_t *self, LazyNodeListReader_t *lazyReader)
Reads a scan from the nodelist and sets the data in the scan.
Definition file_object_odim_io.c:149
const char * FileObjectOdimIO_getErrorMessage(FileObjectOdimIO_t *self)
If an error occurs during writing, you might get an indication for why by checking the error message.
Definition file_object_odim_io.c:106
void FileObjectOdimIO_setStrict(FileObjectOdimIO_t *self, int strict)
If writing should be done strictly.
Definition file_object_odim_io.c:94
int FileObjectOdimIO_isStrict(FileObjectOdimIO_t *self)
If writing should be done strictly.
Definition file_object_odim_io.c:100
Implementation of a simple list.
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
The Polar ODIM IO adaptor.
Definition file_object_odim_io.c:37
RAVE_OBJECT_HEAD RaveIO_ODIM_Version version
Always on top.
Definition file_object_odim_io.c:39
int strict
if strict writing should be enforced or not
Definition file_object_odim_io.c:40