RAVE
odim_sources.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 ODIMSOURCES_H
27#define ODIMSOURCES_H
28#include "rave_object.h"
29#include "odim_source.h"
30#include "rave_list.h"
31
36
41
48OdimSources_t* OdimSources_load(const char* filename);
49
60
68
76
84
92
100
108
116OdimSource_t* OdimSources_identify(OdimSources_t* self, const char* sourcestr);
117
125
126#endif /* AREAREGISTRY_H */
Defines an odim source.
struct _OdimSource_t OdimSource_t
Defines a Geographical Area.
Definition odim_source.h:33
RaveCoreObjectType OdimSources_TYPE
Type definition to use when creating a rave object.
Definition odim_sources.c:341
OdimSource_t * OdimSources_get(OdimSources_t *self, const char *nod)
Returns the source with specified nod name.
Definition odim_sources.c:225
OdimSource_t * OdimSources_get_plc(OdimSources_t *self, const char *plc)
Returns the source with specified plc identifier.
Definition odim_sources.c:249
int OdimSources_add(OdimSources_t *self, OdimSource_t *source)
Adds an area to the registry.
Definition odim_sources.c:181
OdimSource_t * OdimSources_identify(OdimSources_t *self, const char *sourcestr)
Returns the source with specified nod name.
Definition odim_sources.c:255
OdimSources_t * OdimSources_load(const char *filename)
Simplified loading function, takes filename and a projection registry.
Definition odim_sources.c:167
struct _OdimSources_t OdimSources_t
Defines the odim sources.
Definition odim_sources.h:35
OdimSource_t * OdimSources_get_wigos(OdimSources_t *self, const char *wigos)
Returns the source with specified wigos identifier.
Definition odim_sources.c:237
RaveList_t * OdimSources_nods(OdimSources_t *self)
Return all NODs that has been registered in this source registry.
Definition odim_sources.c:333
OdimSource_t * OdimSources_get_rad(OdimSources_t *self, const char *rad)
Returns the source with specified rad identifier.
Definition odim_sources.c:243
OdimSource_t * OdimSources_get_wmo(OdimSources_t *self, const char *wmo)
Returns the source with specified wmo identifier.
Definition odim_sources.c:231
int OdimSources_size(OdimSources_t *self)
Returns the number of registered sour es.
Definition odim_sources.c:219
Implementation of a simple list.
struct _RaveList_t RaveList_t
Defines a list.
Definition rave_list.h:33
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
Represents the odim sources registry.
Definition odim_sources.c:41
RaveObjectHashTable_t * wigos
the mapping of sources
Definition odim_sources.c:44
RaveObjectHashTable_t * wmo
the mapping of sources
Definition odim_sources.c:45
RaveObjectHashTable_t * plc
the mapping of sources
Definition odim_sources.c:47
RaveObjectHashTable_t * rad
the mapping of sources
Definition odim_sources.c:46
RAVE_OBJECT_HEAD RaveObjectHashTable_t * nod
Always on top.
Definition odim_sources.c:43