Example #1
0
// main loop
int main( int argc, char **argv )
{
	printf("Hello world\n");

	Management manager = new_manager();

	// add actions to the manager
	action_add_to_manager( manager );
	
	// add rooms to manager
	room_add_to_manager( manager );

	Server server = new_server();
	if( start_server( server, 5555 ) < 0 ){
		return 1;
	}

	environment_loop( server, manager );
	
	
	/* ---------------------------------------
	 * Clean up 
	 */
	
	close_server( server );
	destroy_server( server );


	destroy_manager( manager );

	return 0;
}
Example #2
0
int main(int argc, char **argv) {
  new_manager();
  FiberManager *fm = get_manager();
  fm->add(hectate_fiber, argc, argv);
  while (fm->size()) {
    fm->run();
  }
  delete_manager();
  std::wcout << "Goodbye." << std::endl;
  return 0;
}
Example #3
0
	void SequenceSpace::nextModificationSymbol(set<string>& mod_set, set<string>::iterator iter, SequenceList& seq_list, ModificationSequence mod_seq, Modifier mod_manager)
	{
		// Get currently available modification sites.
		ModificationSites current_sites = mod_manager.getModificationSitesBySymbol(*iter, 1);
		size_t mod_num = (size_t)gs->getModificationConstraint(*iter);

		//ModificationSites mod_sites; 
    size_t i = 0;

    // Non-const version of the container.
    std::vector<ModificationPosition> current_vec(current_sites.begin(), current_sites.end());
    std::vector<ModificationPosition> mod_vec;

		for(ModificationSites::iterator mod_iter = current_sites.begin(); mod_iter != current_sites.end(); mod_iter++)
		{
			mod_vec.push_back(*mod_iter);
			if(++i >= mod_num)
				break;
		}

    //ModificationSites::iterator CurIter(current_sites.begin());
    
		do 
		{
			// Set the status of mod_sites to "occupied".
			Modifier new_manager(mod_manager);
			for(auto mod_iter = mod_vec.begin(); mod_iter != mod_vec.end(); mod_iter++)
			{
				new_manager.modifyModificationStatus(*iter, *mod_iter, 0);
			}
			// Select the current combination, set the status and move to the next symbol.
			ModificationSequence current_seq(mod_seq);
      ModificationSites mod_sites(mod_vec.begin(), mod_vec.end());
			current_seq.insert(std::make_pair(*iter, mod_sites));
			
			set<std::string>::iterator it_copy = iter;
			it_copy++;
			if(it_copy == mod_set.end()) {
				seq_list.push_back(current_seq);
				continue;
			}
			this->nextModificationSymbol(mod_set, it_copy, seq_list, current_seq, new_manager);
		} while(stdcomb::next_combination(current_vec.begin(), current_vec.end(), mod_vec.begin(), mod_vec.end()));

	}