Files
Work/avifile/Params.cpp
2024-08-07 09:12:07 -04:00

62 lines
1.4 KiB
C++

#include <common/stdio.hpp>
#include <avifile/params.hpp>
void Params::setArgs(int argc,char **argv)
{
String strArg;
getParams(argc,argv);
}
int Params::getParams(int argc,char**argv)
{
mNameValuePairs.remove();
for(int index=0;index<argc;index++)
{
NameValuePair nameValuePair;
nameValuePair.fromString(argv[index]);
mNameValuePairs.insert(&nameValuePair);
}
return mNameValuePairs.size();
}
bool Params::contains(const String &key)const
{
return getParam(key).isNull()?false:true;
}
String Params::getParam(const String &key)const
{
for(int index=0;index<mNameValuePairs.size();index++)
{
NameValuePair &nameValuePair=((Params&)*this).mNameValuePairs[index];
if(nameValuePair.getName()==key)return nameValuePair.getValue();
}
return String();
}
void Params::setParam(const String &key,const String &value)
{
for(int index=0;index<mNameValuePairs.size();index++)
{
NameValuePair &nameValuePair=mNameValuePairs[index];
if(nameValuePair.getName()==key)
{
nameValuePair.setValue(value);
return;
}
}
mNameValuePairs.insert(&NameValuePair(key,value));
}
void Params::showParams(void)
{
for(int index=0;index<mNameValuePairs.size();index++)
{
NameValuePair &nameValuePair=mNameValuePairs[index];
::printf("[Params::showParams]arg[%d]%s=%s\n",
index,
nameValuePair.getName().str(),
nameValuePair.getValue().str());
}
}