Changeset - 2995c8ae0913
[Not reviewed]
0 1 0
Jan Kaluza - 14 years ago 2011-09-15 14:42:26
hanzz.k@gmail.com
forward first message
1 file changed with 8 insertions and 13 deletions:
0 comments (0 inline, 0 general)
backends/frotz/main.cpp
Show inline comments
 
@@ -156,73 +156,80 @@ long reserve_mem = 0;
 
 *
 
 */
 

	
 
void z_piracy (void)
 
{
 

	
 
    branch (!f_setup.piracy);
 

	
 
}/* z_piracy */
 

	
 
class FrotzNetworkPlugin;
 
FrotzNetworkPlugin * np = NULL;
 

	
 
class FrotzNetworkPlugin : public NetworkPlugin {
 
	public:
 
		FrotzNetworkPlugin(Config *config, Swift::SimpleEventLoop *loop, const std::string &host, int port) : NetworkPlugin(loop, host, port) {
 
			this->config = config;
 
		}
 

	
 
		void handleLoginRequest(const std::string &user, const std::string &legacyName, const std::string &password) {
 
			m_user = user;
 
			np->handleConnected(user);
 
			Swift::StatusShow status;
 
			np->handleBuddyChanged(user, "zork", "Zork", "Games", status.getType());
 
			sleep(1);
 
			np->handleMessage(np->m_user, "zork", first_msg);
 
		}
 

	
 
		void handleLogoutRequest(const std::string &user, const std::string &legacyName) {
 
			exit(0);
 
		}
 

	
 
		void handleMessageSendRequest(const std::string &user, const std::string &legacyName, const std::string &message, const std::string &/*xhtml*/) {
 
			std::string msg = message + "\n";
 
			strcpy(input, msg.c_str());
 
			loop_->stop();
 
		}
 

	
 
		void handleJoinRoomRequest(const std::string &user, const std::string &room, const std::string &nickname, const std::string &password) {
 
		}
 

	
 
		void handleLeaveRoomRequest(const std::string &user, const std::string &room) {
 
		}
 

	
 
		std::string m_user;
 
		std::string first_msg;
 
	private:
 
		
 
		Config *config;
 
};
 

	
 
void send_array() {
 
	if (np->first_msg.empty())
 
		np->first_msg = frotz_get_array();
 
	else
 
		np->handleMessage(np->m_user, "zork", frotz_get_array());
 
	std::cout << "sending " << frotz_get_array() << "\n";
 
	frotz_reset_array();
 
}
 

	
 
int main (int argc, char* argv[]) {
 
	std::string host;
 
	int port;
 

	
 

	
 
	boost::program_options::options_description desc("Usage: spectrum [OPTIONS] <config_file.cfg>\nAllowed options");
 
	desc.add_options()
 
		("host,h", value<std::string>(&host), "host")
 
		("port,p", value<int>(&port), "port")
 
		;
 
	try
 
	{
 
		boost::program_options::variables_map vm;
 
		boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm);
 
		boost::program_options::notify(vm);
 
	}
 
	catch (std::runtime_error& e)
 
	{
 
		std::cout << desc << "\n";
 
		exit(1);
 
	}
 
@@ -238,51 +245,39 @@ int main (int argc, char* argv[]) {
 
	}
 

	
 
// 	QStringList channels;
 
// 	for (int i = 3; i < argc; ++i)
 
// 	{
 
// 		channels.append(argv[i]);
 
// 	}
 
// 
 
// 	MyIrcSession session;
 
// 	session.setNick(argv[2]);
 
// 	session.setAutoJoinChannels(channels);
 
// 	session.connectToServer(argv[1], 6667);
 

	
 
	Config config;
 
	if (!config.load(argv[5])) {
 
		std::cerr << "Can't open " << argv[1] << " configuration file.\n";
 
		return 1;
 
	}
 

	
 
	Swift::SimpleEventLoop eventLoop;
 
	loop_ = &eventLoop;
 
	np = new FrotzNetworkPlugin(&config, &eventLoop, host, port);
 

	
 
	os_init_setup ();
 

	
 
	os_process_arguments (argc, argv);
 

	
 
	init_buffer ();
 

	
 
	init_err ();
 

	
 
	init_memory ();
 

	
 
	init_process ();
 

	
 
	init_sound ();
 

	
 
	os_init_screen ();
 

	
 
	init_undo ();
 

	
 
	z_restart ();
 

	
 
	interpret ();
 

	
 
	reset_memory ();
 

	
 
	os_reset_screen ();
 

	
 
	return 0;
 
}
0 comments (0 inline, 0 general)