X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMain.cc;fp=src%2FMain.cc;h=8361b39d3dffe7a5e24eda753650e2722aad6092;hp=2992ea052a7ded280725439b183a97b8da0c5b0f;hb=e0fb747f2e647115d0b8953615c254d25c045345;hpb=449366f5f32d24f2a2a6589da6e16b2bf0d61773 diff --git a/src/Main.cc b/src/Main.cc index 2992ea0..8361b39 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -11,12 +11,14 @@ #include "../config.h" -#include // atexit, getenv +#include // atexit #include #include #include #include -#include // access + +#include +#include #include #include @@ -104,12 +106,13 @@ std::string Main::getSearchPath() // 1. YOINK_DATADIR (environment) // 2. YOINK_DATADIR (configure) - std::string path; + std::string path; + stlplus::env_vector environment; - char* dataDir = getenv("YOINK_DATADIR"); - if (dataDir) + std::string datadir = environment["YOINK_DATADIR"]; + if (!datadir.empty()) { - path += dataDir; + path += datadir; path += ":"; } path += YOINK_DATADIR; @@ -128,16 +131,18 @@ std::string Main::getConfigPath() std::string path("yoinkrc"); moof::resource::find(path); + stlplus::env_vector environment; + #if !defined(_WIN32) path += ":/etc/yoinkrc"; #endif path += ":$HOME/.yoinkrc"; - char* configFile = getenv("YOINKRC"); - if (configFile) + std::string rc_file = environment["YOINKRC"]; + if (!rc_file.empty()) { path += ":"; - path += configFile; + path += rc_file; } return path; @@ -194,28 +199,22 @@ void Main::printUsage() void Main::printInfo(int argc, char* argv[]) { - std::string assets; - std::string datadir; - std::string config; + stlplus::env_vector environment; + std::string assets; assets.assign(YOINK_DATADIR); - int accessible = access(assets.c_str(), R_OK); - if (accessible != 0) assets += " (no access)"; + if (!stlplus::file_readable(assets)) assets += " (no access)"; - char* temp = getenv("YOINK_DATADIR"); - if (temp) + std::string datadir = environment["YOINK_DATADIR"]; + if (!datadir.empty()) { - datadir = temp; - accessible = access(temp, R_OK); - if (accessible != 0) datadir += " (no access)"; + if (!stlplus::folder_readable(datadir)) datadir += " (no access)"; } - temp = getenv("YOINKRC"); - if (temp) + std::string rc_file = environment["YOINKRC"]; + if (!rc_file.empty()) { - config = temp; - accessible = access(temp, R_OK); - if (accessible != 0) config += " (no access)"; + if (!stlplus::file_readable(rc_file)) rc_file += " (no access)"; } std::cout << " Executable: " << argv[0] << std::endl @@ -259,7 +258,7 @@ void Main::printInfo(int argc, char* argv[]) << "-" #endif << "threads" << std::endl - << " YOINKRC: " << config << std::endl + << " YOINKRC: " << rc_file << std::endl << "YOINK_DATADIR: " << datadir << std::endl; } @@ -372,84 +371,17 @@ int main(int argc, char* argv[]) if (asset) asset->cool(); else moof::log_warning("no asset obtained!!"); - moof::timer reloadTimer( - boost::bind(&moof::resource::reload_as_needed), - SCALAR(2.0), - moof::timer::repeat); - - //for (;;) - //{ - //myAsset.get()->cool(); - //moof::resource::reload_as_needed(); - //sleep(1); - //} - - //return 0; - - moof::resolver_task task("4950", "lappy"); - task.run(); + //moof::timer reloadTimer( + //boost::bind(&moof::resource::reload_as_needed), + //SCALAR(2.0), + //moof::timer::repeat); - int i = task.wait(); - moof::log_warning("task ended with code:", i); - - std::vector::const_iterator it; - for (it = task.addresses().begin(); it != task.addresses().end(); ++it) + for (;;) { - moof::socket::address addr = *it; - - moof::log_info("address:", addr, "(", addr.type(), ")"); + if (myAsset) myAsset.get()->cool(); + moof::resource::reload_as_needed(); + sleep(1); } - - //ASSERT(5 == 8 && "uh oh that's not right"); - - - std::vector hi; - for (int a = 0; a < 4000; a++) - { - hi.push_back(a); - } - - moof::log_info("array size:", hi.size()); - moof::packet packet; - packet << hi; - - //for (it = task.addresses().begin(); it != task.addresses().end(); ++it) - //{ - //moof::socket sock(*it); - moof::socket sock(moof::socket::address::broadcast("4950")); - //moof::socket sock("4950", "lappy", SOCK_DGRAM); - sock.set(SO_BROADCAST, 1); - sock.connect(); - - //if (sock.isConnected()) - //{ - moof::packet pack; - pack << "hello world"; - sock.write(pack); - //sock.write(pack, sock.address()); - moof::log_info("sent", pack.size(), "bytes"); - - const char* data = pack.bytes(); - for (unsigned i = 0; i < pack.size(); ++i) - { - moof::log_warning("meh:", data[i]); - } - - char data2[56]; - pack.read(data2, 13); - for (int i = 0; i < 13; ++i) - { - moof::log_warning("meh:", data2[i]); - } - //} - //else - //{ - //moof::log_error("NOT CONNECTED"); - //} - //} - - - //return 0; if (argc > 1)