FreeRDP
TimeZoneNameMapUtils.c File Reference
#include <winpr/config.h>
#include <winpr/assert.h>
#include <winpr/string.h>
#include <winpr/synch.h>
#include <winpr/json.h>
#include <winpr/path.h>
#include <winpr/file.h>
#include "../log.h"
#include <string.h>
#include "WindowsZones.h"
#include "TimeZoneNameMap.h"

Macros

#define TAG   WINPR_TAG("timezone.utils")
 

Functions

static void tz_entry_free (TimeZoneNameMapEntry *entry)
 
static TimeZoneNameMapEntry tz_entry_clone (const TimeZoneNameMapEntry *entry)
 
static void tz_context_free (void)
 
static BOOL reallocate_context (TimeZoneNameMapContext *context, size_t size_to_add)
 
static BOOL CALLBACK load_timezones (PINIT_ONCE once, PVOID param, PVOID *pvcontext)
 
const TimeZoneNameMapEntryTimeZoneGetAt (size_t index)
 
static const char * return_type (const TimeZoneNameMapEntry *entry, TimeZoneNameType type)
 
static BOOL iana_cmp (const TimeZoneNameMapEntry *entry, const char *iana)
 
static BOOL id_cmp (const TimeZoneNameMapEntry *entry, const char *id)
 
static const char * get_for_type (const char *val, TimeZoneNameType type, BOOL(*cmp)(const TimeZoneNameMapEntry *, const char *))
 
static const char * map_fallback (const char *iana, TimeZoneNameType type)
 
const char * TimeZoneIanaToWindows (const char *iana, TimeZoneNameType type)
 

Variables

static TimeZoneNameMapContext tz_context = { 0 }
 

Macro Definition Documentation

◆ TAG

#define TAG   WINPR_TAG("timezone.utils")

WinPR: Windows Portable Runtime Time Zone Name Map Utils

Copyright 2024 Armin Novak anova.nosp@m.k@th.nosp@m.incas.nosp@m.t.co.nosp@m.m Copyright 2024 Thincast Technologies GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ get_for_type()

static const char* get_for_type ( const char *  val,
TimeZoneNameType  type,
BOOL(*)(const TimeZoneNameMapEntry *, const char *)  cmp 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ iana_cmp()

static BOOL iana_cmp ( const TimeZoneNameMapEntry entry,
const char *  iana 
)
static
Here is the caller graph for this function:

◆ id_cmp()

static BOOL id_cmp ( const TimeZoneNameMapEntry entry,
const char *  id 
)
static
Here is the caller graph for this function:

◆ load_timezones()

static BOOL CALLBACK load_timezones ( PINIT_ONCE  once,
PVOID  param,
PVOID *  pvcontext 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ map_fallback()

static const char* map_fallback ( const char *  iana,
TimeZoneNameType  type 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reallocate_context()

static BOOL reallocate_context ( TimeZoneNameMapContext *  context,
size_t  size_to_add 
)
static
Here is the caller graph for this function:

◆ return_type()

static const char* return_type ( const TimeZoneNameMapEntry entry,
TimeZoneNameType  type 
)
static
Here is the caller graph for this function:

◆ TimeZoneGetAt()

const TimeZoneNameMapEntry* TimeZoneGetAt ( size_t  index)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ TimeZoneIanaToWindows()

const char* TimeZoneIanaToWindows ( const char *  iana,
TimeZoneNameType  type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tz_context_free()

static void tz_context_free ( void  )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tz_entry_clone()

static TimeZoneNameMapEntry tz_entry_clone ( const TimeZoneNameMapEntry entry)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tz_entry_free()

static void tz_entry_free ( TimeZoneNameMapEntry entry)
static
Here is the caller graph for this function:

Variable Documentation

◆ tz_context

TimeZoneNameMapContext tz_context = { 0 }
static