new functions for dtsod

This commit is contained in:
Timerix22 2022-03-14 12:01:17 +03:00
parent da2686ecee
commit ec29c53974
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,27 @@
#include "DtsodV24.h"
//returns UniNull if key not found
Unitype DtsodV24_get(Hashtable* dtsod, char* key){
return Hashtable_get(dtsod, key);
}
//adds or sets value
void DtsodV24_addOrSet(Hashtable* dtsod, char* key, Unitype value){
Unitype* val=Hashtable_getptr(dtsod, key);
if(val) *val=value;
else Hashtable_add(dtsod, key, value);
}
//checks for dtsod contains value or dont
bool DtsodV24_contains(Hashtable* dtsod, char* key){
Unitype* val=Hashtable_getptr(dtsod, key);
return val!=NULL;
}
//replaces value with UniNull if key exists in dtsod
bool DtsodV24_remove(Hashtable* dtsod, char* key){
Unitype* val=Hashtable_getptr(dtsod, key);
if (!val) return false;
*val=UniNull;
return true;
}

View File

@ -1,6 +1,24 @@
#if __cplusplus
extern "c" {
#endif
#pragma once #pragma once
#include "../base/base.h" #include "../base/base.h"
#include "../Hashtable/Hashtable.h" #include "../Hashtable/Hashtable.h"
//parses text to binary values
Hashtable* DtsodV24_deserialize(char* text); Hashtable* DtsodV24_deserialize(char* text);
//creates text representation of dtsod
char* DtsodV24_serialize(Hashtable* dtsod); char* DtsodV24_serialize(Hashtable* dtsod);
//returns value or UniNull if key not found
Unitype DtsodV24_get(Hashtable* dtsod, char* key);
//adds or sets value
void DtsodV24_addOrSet(Hashtable* dtsod, char* key, Unitype value);
//checks for dtsod contains value or dont
bool DtsodV24_contains(Hashtable* dtsod, char* key);
//replaces value with UniNull if key exists in dtsod
bool DtsodV24_remove(Hashtable* dtsod, char* key);
#if __cplusplus
}
#endif