[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] Functions in gvars
From: |
Edward Rosten |
Subject: |
[libcvd-members] Functions in gvars |
Date: |
Fri, 8 Jun 2007 17:47:05 -0600 (MDT) |
Here's a minimal implementations of functions in GVars:
///////////////////////////////////////////////////////////////////////////////////////////////////
static string lastfunc="";
map<string, vector<string> > functions;
void runfunc(void*, string name, string args)
{
vector<string>& v = functions[name];
for(unsigned int i=0; i < v.size(); i++)
{
GUI.ParseLine(v[i]);
}
}
void function(void*, string name, string args)
{
vector<string> vs = ChopAndUnquoteString(args);
if(vs.size() != 1)
{
cerr << "Error: " << name << " takes 1 argument: " << name << "
name\n";
return;
}
lastfunc=vs[0];
GUI.RegisterCommand(vs[0], runfunc);
}
void pushfuncline(void*, string, string line)
{
if(lastfunc == "")
{
cerr << "Error: no function.\n";
return;
}
else
functions[lastfunc].push_back(line);
}
//////////////
////////////// Stuff
//////////////
GUI.RegisterCommand("function", function);
GUI.RegisterCommand("+", pushfuncline);
///////////////////////////////////////////////////////////////////////////////////////////////////
Now use define like this:
function hellworld
+ echo hello
+ echo world
-Ed
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] Functions in gvars,
Edward Rosten <=