⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kwifimanager_kcmodule.cpp

📁 Linux/Unix下无限网卡配置和管理程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
	temp2 += "s:";      temp2 += configs->crypto4[x];      temp[2] = "[4]";      temp[1] = temp2.latin1 ();      std::cerr << "Crypto key 4:  " << temp[1] << "\n";      set_info (skfd, temp, 3, used_interface.latin1 ());      (configs->crypto_mode[x] == OPEN) ? temp[1] = "open" : temp[1] = "restricted";      std::cerr << "Operation mode: " << temp[1] << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());      temp2 = "";      temp2 = "[" + configs->active_key_string[x] + "]";      temp[1] = temp2.latin1 ();      std::cerr << "Active key: " << configs->active_key_string[x] << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());      temp[1] = "on";      std::cerr << "Encryption: ON" << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());    }  else    {      temp[1] = "off";      std::cerr << "Encryption: OFF" << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());    };  temp[0] = "power";  if (configs->pm_enabled[x] == true)    {      temp[1] = "period";      temp2 = configs->sleep_time_string[x] + "m";      temp[2] = temp2.latin1 ();      std::cerr << "Sleep time: " << configs->sleep_time_string[x] << "\n";      set_info (skfd, temp, 3, used_interface.latin1 ());      temp[1] = "timeout";      temp2 = configs->wake_time_string[x] + "m";      temp[2] = temp2.latin1 ();      std::cerr << "Wake time: " << configs->wake_time_string[x] << "\n";      set_info (skfd, temp, 3, used_interface.latin1 ());      switch (configs->packet[x])	{	case UNI:	  temp[1] = "unicast";	  break;	case MULTI:	  temp[1] = "multicast";	  break;	case BOTH:	  temp[1] = "all";	  break;	};      std::cerr << "Listening to: " << temp[1] << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());    }  else    {      temp[1] = "off";      std::cerr << "Power Management: OFF" << "\n";      set_info (skfd, temp, 2, used_interface.latin1 ());    };  temp[0] = "rate";  switch (configs->bitrate[x])    {    case AUTO:      temp[1] = "auto";      break;    case M1:      temp[1] = "1M";      break;    case M2:      temp[1] = "2M";      break;    case M55:      temp[1] = "5.5M";      break;    case M11:      temp[1] = "11M";      break;    };  std::cerr << "Bitrate: " << temp[1] << "\n";  set_info (skfd, temp, 2, used_interface.latin1 ());  KProcess ifcon2;  ifcon2 << "ifconfig";  ifcon2 << used_interface.latin1 () << "up";  std::cerr << "Restarting interface via ifconfig\n";  ifcon2.start (KProcess::Block);  KProcess scripty;  QStringList args = QStringList::split(" ",configs->script_name[x]);  for (QStringList::Iterator it=args.begin(); it!=args.end(); ++it)    {	scripty << *it;	std::cerr << *it << " ";    }  std::cerr << "Starting to execute user-defined script.\n";  scripty.start (KProcess::DontCare);}voidKWifimanager_KCModule::load (){  defaults ();  KStandardDirs finder;  QString kdedir = finder.findResourceDir ("data", "kwifimanager/config/kwifimanagerrc");  if (kdedir == "") {    kdedir = finder.findResourceDir ("data", "kwifimanager/pics/offline.png") + "kwifimanager/config/";    QDir erzeuger;    erzeuger.mkdir(kdedir);    }  else {    kdedir += "kwifimanager/config/";  };  std::cerr << kdedir << "\n";  KSimpleConfig *conffile = new KSimpleConfig (kdedir + "kwifimanagerrc", true);  conffile->setGroup ("General");  use_preset_config = conffile->readBoolEntry ("Use preset configuration", false);  preset_config_to_use = conffile->readNumEntry ("Configuration to use", 1);  interface_to_use = conffile->readEntry ("Interface", "");  for (int i = 1; i < 5; i++)    {      QString temp = "Configuration %1";      temp = temp.arg (i);      conffile->setGroup (temp);      KWifimanager_KCModule::configs->script_name[i] = conffile->readEntry ("Script Name", "");      KWifimanager_KCModule::configs->net_name[i] = conffile->readEntry ("Network Name", "");      KWifimanager_KCModule::configs->managed[i] = conffile->readBoolEntry ("Infrastructure", false);      KWifimanager_KCModule::configs->crypto_enabled[i] = conffile->readBoolEntry ("Use cryptography", false);      KWifimanager_KCModule::configs->active_crypto_key[i] = conffile->readNumEntry ("Active crypto key", 0);      KWifimanager_KCModule::configs->active_key_string[i] = "%1";      KWifimanager_KCModule::configs->active_key_string[i] = KWifimanager_KCModule::configs->active_key_string[i].arg (KWifimanager_KCModule::configs->active_crypto_key[i]);      KWifimanager_KCModule::configs->crypto1[i] = conffile->readEntry ("Key 1", "");      KWifimanager_KCModule::configs->crypto_is_string1[i] = conffile->readBoolEntry ("Key 1 is string", false);      KWifimanager_KCModule::configs->crypto2[i] = conffile->readEntry ("Key 2", "");      KWifimanager_KCModule::configs->crypto_is_string2[i] = conffile->readBoolEntry ("Key 2 is string", false);      KWifimanager_KCModule::configs->crypto3[i] = conffile->readEntry ("Key 3", "");      KWifimanager_KCModule::configs->crypto_is_string3[i] = conffile->readBoolEntry ("Key 3 is string", false);      KWifimanager_KCModule::configs->crypto4[i] = conffile->readEntry ("Key 4", "");      KWifimanager_KCModule::configs->crypto_is_string4[i] = conffile->readBoolEntry ("Key 4 is string", false);      (conffile->readEntry ("Crypto mode", "OPEN") == "OPEN" ? KWifimanager_KCModule::configs->crypto_mode[i] = OPEN : KWifimanager_KCModule::configs->crypto_mode[i] = RESTRICTED);      KWifimanager_KCModule::configs->pm_enabled[i] = conffile->readBoolEntry ("PM enabled", false);      KWifimanager_KCModule::configs->sleep_time[i] = conffile->readNumEntry ("Sleep time", 0);      KWifimanager_KCModule::configs->wake_time[i] = conffile->readNumEntry ("Wake time", 0);      temp = conffile->readEntry ("Speed", "AUTO");      if (temp == "AUTO")	{	  KWifimanager_KCModule::configs->bitrate[i] = AUTO;	}      else if (temp == "M1")	{	  KWifimanager_KCModule::configs->bitrate[i] = M1;	}      else if (temp == "M2")	{	  KWifimanager_KCModule::configs->bitrate[i] = M2;	}      else if (temp == "M55")	{	  KWifimanager_KCModule::configs->bitrate[i] = M55;	}      else	KWifimanager_KCModule::configs->bitrate[i] = M11;      temp = conffile->readEntry ("Packets", "BOTH");      if (temp == "UNI")	{	  KWifimanager_KCModule::configs->packet[i] = UNI;	}      else if (temp == "MULTI")	{	  KWifimanager_KCModule::configs->packet[i] = MULTI;	}      else	KWifimanager_KCModule::configs->packet[i] = BOTH;    };  emit changed (false);}voidKWifimanager_KCModule::defaults (){  use_preset_config = false;  preset_config_to_use = 1;  interface_to_use = "";  for (int i = 1; i < 5; i++)    {      KWifimanager_KCModule::configs->script_name[i] = "";      KWifimanager_KCModule::configs->net_name[i] = "";      KWifimanager_KCModule::configs->managed[i] = false;      KWifimanager_KCModule::configs->crypto_enabled[i] = false;      KWifimanager_KCModule::configs->active_crypto_key[i] = 0;      KWifimanager_KCModule::configs->active_key_string[i] = "0";      KWifimanager_KCModule::configs->crypto1[i] = "";      KWifimanager_KCModule::configs->crypto2[i] = "";      KWifimanager_KCModule::configs->crypto3[i] = "";      KWifimanager_KCModule::configs->crypto4[i] = "";      KWifimanager_KCModule::configs->crypto_is_string1[i] = false;      KWifimanager_KCModule::configs->crypto_is_string2[i] = false;      KWifimanager_KCModule::configs->crypto_is_string3[i] = false;      KWifimanager_KCModule::configs->crypto_is_string4[i] = false;      KWifimanager_KCModule::configs->crypto_mode[i] = OPEN;      KWifimanager_KCModule::configs->pm_enabled[i] = false;      KWifimanager_KCModule::configs->sleep_time[i] = 0;      KWifimanager_KCModule::configs->sleep_time_string[i] = "0";      KWifimanager_KCModule::configs->wake_time_string[i] = "0";      KWifimanager_KCModule::configs->wake_time[i] = 0;      KWifimanager_KCModule::configs->bitrate[i] = AUTO;      KWifimanager_KCModule::configs->packet[i] = BOTH;      emit changed (true);    };}voidKWifimanager_KCModule::save (){  config1->saveData (1);  config2->saveData (2);  config3->saveData (3);  config4->saveData (4);  config_gen->saveData ();  KStandardDirs finder;  QString kdedir = finder.findResourceDir ("data", "kwifimanager/config/");  kdedir += "kwifimanager/config/";  KSimpleConfig *conffile = new KSimpleConfig (kdedir + "kwifimanagerrc", false);  std::cerr << kdedir << "\n";  conffile->setGroup ("General");  conffile->writeEntry ("Use preset configuration", use_preset_config);  conffile->writeEntry ("Configuration to use", preset_config_to_use);  conffile->writeEntry ("Interface", interface_to_use);  for (int i = 1; i < 5; i++)    {      QString temp = "Configuration %1";      temp = temp.arg (i);      conffile->setGroup (temp);      conffile->writeEntry ("Script Name", KWifimanager_KCModule::configs->script_name[i]);      conffile->writeEntry ("Network Name", KWifimanager_KCModule::configs->net_name[i]);      conffile->writeEntry ("Infrastructure", KWifimanager_KCModule::configs->managed[i]);      conffile->writeEntry ("Use cryptography", KWifimanager_KCModule::configs->crypto_enabled[i]);      conffile->writeEntry ("Active crypto key", KWifimanager_KCModule::configs->active_crypto_key[i]);      conffile->writeEntry ("Key 1", KWifimanager_KCModule::configs->crypto1[i]);      conffile->writeEntry ("Key 1 is string", KWifimanager_KCModule::configs->crypto_is_string1[i]);      conffile->writeEntry ("Key 2", KWifimanager_KCModule::configs->crypto2[i]);      conffile->writeEntry ("Key 2 is string", KWifimanager_KCModule::configs->crypto_is_string2[i]);      conffile->writeEntry ("Key 3", KWifimanager_KCModule::configs->crypto3[i]);      conffile->writeEntry ("Key 3 is string", KWifimanager_KCModule::configs->crypto_is_string3[i]);      conffile->writeEntry ("Key 4", KWifimanager_KCModule::configs->crypto4[i]);      conffile->writeEntry ("Key 4 is string", KWifimanager_KCModule::configs->crypto_is_string4[i]);      conffile->writeEntry ("Crypto mode", (KWifimanager_KCModule::configs->crypto_mode[i] == "OPEN" ? "OPEN" : "RESTRICTED"));      conffile->writeEntry ("PM enabled", KWifimanager_KCModule::configs->pm_enabled[i]);      conffile->writeEntry ("Sleep time", KWifimanager_KCModule::configs->sleep_time[i]);      conffile->writeEntry ("Wake time", KWifimanager_KCModule::configs->wake_time[i]);      switch (KWifimanager_KCModule::configs->bitrate[i])	{	case AUTO:	  conffile->writeEntry ("Speed", "AUTO");	  break;	case M1:	  conffile->writeEntry ("Speed", "M1");	  break;	case M2:	  conffile->writeEntry ("Speed", "M2");	  break;	case M55:	  conffile->writeEntry ("Speed", "M55");	  break;	case M11:	  conffile->writeEntry ("Speed", "M11");	  break;	};      switch (KWifimanager_KCModule::configs->packet[i])	{	case UNI:	  conffile->writeEntry ("Packets", "UNI");	  break;	case MULTI:	  conffile->writeEntry ("Packets", "MULTI");	  break;	case BOTH:	  conffile->writeEntry ("Packets", "BOTH");	  break;	};    };  conffile->sync ();  emit changed (false);  KWifimanager_KCModule::init ();}intKWifimanager_KCModule::buttons (){  return 61;}voidKWifimanager_KCModule::configChanged (){  emit changed (true);}QString KWifimanager_KCModule::quickHelp () const{  return i18n ("Helpful information about the kwifimanager_kcmodule module.");}// ------------------------------------------------------------------------voidKWifimanager_KCModule::init (){  KStandardDirs finder;  QString kdedir = finder.findResourceDir ("data", "kwifimanager/config/kwifimanagerrc");  if (kdedir == "") {   kdedir = finder.findResourceDir ("data", "kwifimanager/pics/offline.png") + "kwifimanager/config/";   QDir erzeuger;   erzeuger.mkdir(kdedir);    }  else {    kdedir += "kwifimanager/config/";  };  KSimpleConfig *conffile = new KSimpleConfig (kdedir + "kwifimanagerrc", true);  conffile->setGroup ("General");  use_preset_config = conffile->readBoolEntry ("Use preset configuration", false);  if (use_preset_config)    {      preset_config_to_use = conffile->readNumEntry ("Configuration to use", 1);      interface_to_use = conffile->readEntry ("Interface", "");      QString temp = "Configuration %1";      temp = temp.arg (preset_config_to_use + 1);      int i = preset_config_to_use + 1;      conffile->setGroup (temp);      KWifimanager_KCModule::configs->script_name[i] = conffile->readEntry ("Script Name", "");      KWifimanager_KCModule::configs->net_name[i] = conffile->readEntry ("Network Name", "");      KWifimanager_KCModule::configs->managed[i] = conffile->readBoolEntry ("Infrastructure", false);      KWifimanager_KCModule::configs->crypto_enabled[i] = conffile->readBoolEntry ("Use cryptography", false);      KWifimanager_KCModule::configs->active_crypto_key[i] = conffile->readNumEntry ("Active crypto key", 0);      KWifimanager_KCModule::configs->active_key_string[i] = "%1";      KWifimanager_KCModule::configs->active_key_string[i] = KWifimanager_KCModule::configs->active_key_string[i].arg (KWifimanager_KCModule::configs->active_crypto_key[i]);      KWifimanager_KCModule::configs->crypto1[i] = conffile->readEntry ("Key 1", "");      KWifimanager_KCModule::configs->crypto_is_string1[i] = conffile->readBoolEntry ("Key 1 is string", false);      KWifimanager_KCModule::configs->crypto2[i] = conffile->readEntry ("Key 2", "");      KWifimanager_KCModule::configs->crypto_is_string2[i] = conffile->readBoolEntry ("Key 2 is string", false);      KWifimanager_KCModule::configs->crypto3[i] = conffile->readEntry ("Key 3", "");      KWifimanager_KCModule::configs->crypto_is_string3[i] = conffile->readBoolEntry ("Key 3 is string", false);      KWifimanager_KCModule::configs->crypto4[i] = conffile->readEntry ("Key 4", "");      KWifimanager_KCModule::configs->crypto_is_string4[i] = conffile->readBoolEntry ("Key 4 is string", false);      (conffile->readEntry ("Crypto mode", "OPEN") == "OPEN" ? KWifimanager_KCModule::configs->crypto_mode[i] = OPEN : KWifimanager_KCModule::configs->crypto_mode[i] = RESTRICTED);      KWifimanager_KCModule::configs->pm_enabled[i] = conffile->readBoolEntry ("PM enabled", false);      KWifimanager_KCModule::configs->sleep_time[i] = conffile->readNumEntry ("Sleep time", 0);      KWifimanager_KCModule::configs->wake_time[i] = conffile->readNumEntry ("Wake time", 0);      temp = conffile->readEntry ("Speed", "AUTO");      if (temp == "AUTO")	{	  KWifimanager_KCModule::configs->bitrate[i] = AUTO;	}      else if (temp == "M1")	{	  KWifimanager_KCModule::configs->bitrate[i] = M1;	}      else if (temp == "M2")	{	  KWifimanager_KCModule::configs->bitrate[i] = M2;	}      else if (temp == "M55")	{	  KWifimanager_KCModule::configs->bitrate[i] = M55;	}      else	KWifimanager_KCModule::configs->bitrate[i] = M11;      temp = conffile->readEntry ("Packets", "BOTH");      if (temp == "UNI")	{	  KWifimanager_KCModule::configs->packet[i] = UNI;	}      else if (temp == "MULTI")	{	  KWifimanager_KCModule::configs->packet[i] = MULTI;	}      else	KWifimanager_KCModule::configs->packet[i] = BOTH;      KWifimanager_KCModule::changeConfig (preset_config_to_use + 1, iw_sockets_open (), interface_to_use);    };};extern "C"{/*  KCModule *create_kwifimanager_kcmodule (QWidget * parent, const char *name)  {    KGlobal::locale ()->insertCatalogue ("kwifimanager");    return new KWifimanager_KCModule (parent, name);  };*/void *init_libkcm_kwifimanager_kcmodule(QWidget* parent, const char* name)  {    KWifimanager_KCModule::init ();    std::cerr << "INIT completed...\n";    KLocale::setMainCatalogue("kwifimanager");	KGlobal::locale()->insertCatalogue("kwifimanager");    return new KWiFiFactory("kcm_kwifimanager_kcmodule");	std::cerr << "Returned new object\n";  } ;}#include "kwifimanager_kcmodule.moc"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -