void DerivationPredicate::printInfo(std::ostream &s) const {
	s << indent;
	printName(s);
	s << ":" << std::endl;
	indentLevel++;
	s << indent << "predicate = ";
	predicate->print(s);
	s << std::endl;
	strat->printInfo(s);
	printBaseInfo(s);
	indentLevel--;
}
Beispiel #2
0
void Parallel::printInfo(std::ostream& s) const {
	s << indent << "Parallel: " << strats.size() << " substrats" << std::endl;
	indentLevel++;
	for(unsigned int i = 0; i < strats.size(); i++) {
		s << indent << "Substrat " << i << ":" << std::endl;
		indentLevel++;
		strats[i]->printInfo(s);
		indentLevel--;
	}
	printBaseInfo(s);
	indentLevel--;
}
EXPORT(int) primitiveDnsInfo(void) {
  HKEY hkey;
  sqInt sz, stroop;
  DWORD dwLength, ret, index;
  char adapter[1024];

  *buf = 0;
  strcat(buf, "# Global config settings");

  /* Print the global options */
  if(printBaseInfo("SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters")) {
    /* If we have DNS entries globally, skip enumerating all interfaces */
    goto done;
  }

  /* Enumerate the available interfaces */
  ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, BASE_KEY, 0, KEY_READ, &hkey);
  for(index=0;;index++) {
    char keyName[1024];
    dwLength = sizeof(adapter);
    ret = RegEnumKeyEx(hkey, index, adapter, &dwLength, NULL, NULL, NULL, NULL);
    if(ret != ERROR_SUCCESS) break;
    strcpy(keyName, BASE_KEY);
    strcat(keyName, "\\");
    strcat(keyName, adapter);
    /* Should look up and print the adapter name */
    printAdapterInfo(keyName);
  }

 done:
  sz = strlen(buf);
  stroop = vm->instantiateClassindexableSize(vm->classString(), sz);
  if(!vm->failed()) {
    memcpy(vm->firstIndexableField(stroop), buf, sz);
    vm->popthenPush(vm->methodArgumentCount()+1, stroop);
  }
  return 1;
}