Example #1
0
//==========================================================================================================
// Init command map, read and execute file.
//==========================================================================================================
ScriptReader::ScriptReader(string _filename, map<string, string> _vars, ScriptReader* parent):
    filename(_filename), vars(_vars), root(parent == nullptr)
{
    print_title();
    
    // Check validity of variable-value pairs
    for(auto& p: vars)
    {
        check_valid_value(p.first, p.second);
    }
    
    if(root)
    {
        calls_map = new CallsMap;
        messages = new vector<SipMessage*>;
    }
    else
    {
        calls_map = parent->calls_map;
        messages = parent->messages;
    }
    
    interpret(filename);
    print_end_title();
}
Example #2
0
//==========================================================================================================
//==========================================================================================================
void ScriptReader::set_value(string var, string value, bool overwirte)
{
    check_valid_value(var, value);
    
    if(vars.count(var) == 0 || overwirte)
    {
        vars[var] = value;
    }
}
Example #3
0
/* Takes user input, checks value of card,
updates the count and repeats until the user inputs X*/
void card_loop()
{
	char card[3];
	int val = 0;
	int count = 0;
	while(card[0] != 'X') {
		getinput(card);
		val = card_value(card);
		if (check_valid_value(val)){
			puts("I don't understand that value!");
		} else {
			print_value(val);
			update_count(val,&count);
		}
	}
}