ACKme / Mbed 2 deprecated wiconnect-test-console

Dependencies:   WiConnect mbed

Committer:
dan_ackme
Date:
Mon Aug 11 13:55:39 2014 -0700
Revision:
3:dddd476d5967
Parent:
1:5137ec8f4c45
Child:
12:3dd3a1be40c1
use static buffers instead of malloc since default heap is so small

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan_ackme 0:836c9a6383e0 1 /*
dan_ackme 0:836c9a6383e0 2 * Copyright 2014, ACKme Networks
dan_ackme 0:836c9a6383e0 3 * All Rights Reserved.
dan_ackme 0:836c9a6383e0 4 *
dan_ackme 0:836c9a6383e0 5 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks;
dan_ackme 0:836c9a6383e0 6 * the contents of this file may not be disclosed to third parties, copied
dan_ackme 0:836c9a6383e0 7 * or duplicated in any form, in whole or in part, without the prior
dan_ackme 0:836c9a6383e0 8 * written permission of ACKme Networks.
dan_ackme 0:836c9a6383e0 9 */
dan_ackme 0:836c9a6383e0 10
dan_ackme 0:836c9a6383e0 11
dan_ackme 0:836c9a6383e0 12 #include "tests/Tests.h"
dan_ackme 0:836c9a6383e0 13 #include "Wiconnect.h"
dan_ackme 0:836c9a6383e0 14
dan_ackme 0:836c9a6383e0 15
dan_ackme 0:836c9a6383e0 16
dan_ackme 0:836c9a6383e0 17 static void printFileList(const FileList &fileList);
dan_ackme 0:836c9a6383e0 18
dan_ackme 0:836c9a6383e0 19
dan_ackme 0:836c9a6383e0 20
dan_ackme 0:836c9a6383e0 21 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 22 WiconnectResult fileListCommand(int argc, char **argv)
dan_ackme 0:836c9a6383e0 23 {
dan_ackme 0:836c9a6383e0 24 WiconnectResult result;
dan_ackme 0:836c9a6383e0 25 Wiconnect *wiconnect = Wiconnect::getInstance();
dan_ackme 3:dddd476d5967 26 FileList fileList(TEST_BUFFER_LENGTH, TEST_BUFFER);
dan_ackme 0:836c9a6383e0 27 uint32_t type = FILE_TYPE_ANY;
dan_ackme 0:836c9a6383e0 28 const char *name = NULL;
dan_ackme 0:836c9a6383e0 29 uint32_t version = 0;
dan_ackme 0:836c9a6383e0 30
dan_ackme 0:836c9a6383e0 31 while(argc > 0)
dan_ackme 0:836c9a6383e0 32 {
dan_ackme 0:836c9a6383e0 33 if(argv[0][0] != '-' || argc < 2)
dan_ackme 0:836c9a6383e0 34 {
dan_ackme 0:836c9a6383e0 35 LOG_ERROR("Invalid command line argument");
dan_ackme 0:836c9a6383e0 36 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 37 }
dan_ackme 0:836c9a6383e0 38
dan_ackme 0:836c9a6383e0 39 switch(argv[0][1])
dan_ackme 0:836c9a6383e0 40 {
dan_ackme 0:836c9a6383e0 41 case 'v': {
dan_ackme 0:836c9a6383e0 42 if(!Wiconnect::fileVersionStrToInt(argv[1], &version))
dan_ackme 0:836c9a6383e0 43 {
dan_ackme 0:836c9a6383e0 44 LOG_ERROR("Invalid file version");
dan_ackme 0:836c9a6383e0 45 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 46 }
dan_ackme 0:836c9a6383e0 47 } break;
dan_ackme 0:836c9a6383e0 48 case 'n':
dan_ackme 0:836c9a6383e0 49 name = argv[1];
dan_ackme 0:836c9a6383e0 50 break;
dan_ackme 0:836c9a6383e0 51 case 't': {
dan_ackme 0:836c9a6383e0 52 if(!StringUtil::strHexToUint32((const char*)argv[1], &type))
dan_ackme 0:836c9a6383e0 53 {
dan_ackme 0:836c9a6383e0 54 LOG_ERROR("Invalid file type");
dan_ackme 0:836c9a6383e0 55 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 56 }
dan_ackme 0:836c9a6383e0 57 } break;
dan_ackme 0:836c9a6383e0 58 default:
dan_ackme 0:836c9a6383e0 59 LOG_ERROR("Unknown command option: %c", argv[0][1]);
dan_ackme 0:836c9a6383e0 60 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 61 }
dan_ackme 0:836c9a6383e0 62
dan_ackme 0:836c9a6383e0 63 argc -= 2;
dan_ackme 0:836c9a6383e0 64 argv += 2;
dan_ackme 0:836c9a6383e0 65 }
dan_ackme 0:836c9a6383e0 66
dan_ackme 0:836c9a6383e0 67
dan_ackme 0:836c9a6383e0 68 if(!WICONNECT_FAILED(result, wiconnect->listFiles(fileList, name, (FileType)type, version)))
dan_ackme 0:836c9a6383e0 69 {
dan_ackme 0:836c9a6383e0 70 printFileList(fileList);
dan_ackme 0:836c9a6383e0 71 }
dan_ackme 0:836c9a6383e0 72
dan_ackme 0:836c9a6383e0 73 return result;
dan_ackme 0:836c9a6383e0 74
dan_ackme 0:836c9a6383e0 75 }
dan_ackme 0:836c9a6383e0 76
dan_ackme 0:836c9a6383e0 77 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 78 static void printFileList(const FileList &fileList)
dan_ackme 0:836c9a6383e0 79 {
dan_ackme 0:836c9a6383e0 80 int i = 1;
dan_ackme 0:836c9a6383e0 81
dan_ackme 0:836c9a6383e0 82 LOG_INFO("File count: %d", fileList.getCount());
dan_ackme 0:836c9a6383e0 83 for(const File *file = fileList.getListHead(); file != NULL; file = file->getNext(), ++i)
dan_ackme 0:836c9a6383e0 84 {
dan_ackme 0:836c9a6383e0 85 LOG_INFO("------------------------\r\n"
dan_ackme 0:836c9a6383e0 86 "%d: %s\r\n"
dan_ackme 0:836c9a6383e0 87 "\tVersion: %s\r\n"
dan_ackme 0:836c9a6383e0 88 "\tSize: %d\r\n"
dan_ackme 0:836c9a6383e0 89 "\tType: %s\r\n"
dan_ackme 0:836c9a6383e0 90 "\tFlags: %s\r\n",
dan_ackme 0:836c9a6383e0 91 i, file->getName(),
dan_ackme 0:836c9a6383e0 92 file->getVersionStr(),
dan_ackme 0:836c9a6383e0 93 file->getSize(),
dan_ackme 0:836c9a6383e0 94 Wiconnect::fileTypeToStr(file->getType()),
dan_ackme 0:836c9a6383e0 95 Wiconnect::fileFlagsToStr(file->getFlags()));
dan_ackme 0:836c9a6383e0 96 }
dan_ackme 0:836c9a6383e0 97 }