Beispiel #1
0
int main(int argc, char* argv[])
{
  if ((argc < 2) || (argc > 4))
  {
    fprintf(stderr, "Usage: (depends on the parameters)\n");
    fprintf(stderr, "   %s type filename sha1.md5.len\n", argv[0]);
    fprintf(stderr, "   echo 'sha1.md5.len filename' | %s type\n", argv[0]);
    fprintf(stderr, "   echo '<xml from ununpack>...</xml>' | %s typesource type\n", argv[0]);
    fprintf(stderr, "     type = repository for storing files\n");
    fprintf(stderr, "     typesource = repository for storing source files (XML only)\n");
    exit(-1);
  }

  switch (argc)
  {
    case 2:        /* pairs from stdin */
      ProcessPairs(stdin, argv[1]);
      break;
    case 3:        /* pairs from XML */
      ProcessXML(stdin, argv[1], argv[2]);
      break;
    case 4:        /* pairs from command-line */
      CopyFile(argv[2], argv[1], argv[3]);
      break;
  }

  printf("Total Imported:   %ld\n", TotalImported);
  printf("Total Duplicates: %ld\n", TotalDuplicate);
  printf("Total Errors:     %ld\n", TotalError);
  if (TotalError > 0) return (1);
  return (0);
} /* main() */
Beispiel #2
0
String NexaDecoder::Decode(bool* signalValues)
{
	_decodedValues = "";

	bool isValid = ProcessPairs(signalValues);
	
	if (!isValid)
	{
		return "CHECKSUM ERROR of: " + String(_extractedValues);
	}

	AddDeviceId();
	AddSettingValue("AllOff", 32, 5);
	AddSettingValue("SetOn", 16, 4);
	AddSettingValue("Group", 12, 2);
	AddSettingValue("ButtonId", 3, 0);

	return _decodedValues;
}