ACKme / Mbed 2 deprecated wiconnect-test-console

Dependencies:   WiConnect mbed

Committer:
dan_ackme
Date:
Sat Aug 23 05:40:50 2014 -0700
Revision:
15:a835e28308b6
Parent:
12:3dd3a1be40c1
Renamed Socket to WiconnectSocket

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan_ackme 12:3dd3a1be40c1 1 /**
dan_ackme 12:3dd3a1be40c1 2 * ACKme WiConnect Host Library is licensed under the BSD licence:
dan_ackme 12:3dd3a1be40c1 3 *
dan_ackme 12:3dd3a1be40c1 4 * Copyright (c)2014 ACKme Networks.
dan_ackme 12:3dd3a1be40c1 5 * All rights reserved.
dan_ackme 12:3dd3a1be40c1 6 *
dan_ackme 12:3dd3a1be40c1 7 * Redistribution and use in source and binary forms, with or without modification,
dan_ackme 12:3dd3a1be40c1 8 * are permitted provided that the following conditions are met:
dan_ackme 12:3dd3a1be40c1 9 *
dan_ackme 12:3dd3a1be40c1 10 * 1. Redistributions of source code must retain the above copyright notice,
dan_ackme 12:3dd3a1be40c1 11 * this list of conditions and the following disclaimer.
dan_ackme 12:3dd3a1be40c1 12 * 2. Redistributions in binary form must reproduce the above copyright notice,
dan_ackme 12:3dd3a1be40c1 13 * this list of conditions and the following disclaimer in the documentation
dan_ackme 12:3dd3a1be40c1 14 * and/or other materials provided with the distribution.
dan_ackme 12:3dd3a1be40c1 15 * 3. The name of the author may not be used to endorse or promote products
dan_ackme 12:3dd3a1be40c1 16 * derived from this software without specific prior written permission.
dan_ackme 12:3dd3a1be40c1 17 *
dan_ackme 12:3dd3a1be40c1 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED
dan_ackme 12:3dd3a1be40c1 19 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
dan_ackme 12:3dd3a1be40c1 20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
dan_ackme 12:3dd3a1be40c1 21 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
dan_ackme 12:3dd3a1be40c1 22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
dan_ackme 12:3dd3a1be40c1 23 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
dan_ackme 12:3dd3a1be40c1 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
dan_ackme 12:3dd3a1be40c1 25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
dan_ackme 12:3dd3a1be40c1 26 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
dan_ackme 12:3dd3a1be40c1 27 * OF SUCH DAMAGE.
dan_ackme 0:836c9a6383e0 28 */
dan_ackme 0:836c9a6383e0 29
dan_ackme 0:836c9a6383e0 30 #include "tests/Tests.h"
dan_ackme 0:836c9a6383e0 31 #include "Wiconnect.h"
dan_ackme 0:836c9a6383e0 32
dan_ackme 0:836c9a6383e0 33
dan_ackme 0:836c9a6383e0 34
dan_ackme 0:836c9a6383e0 35 static void printFileList(const FileList &fileList);
dan_ackme 0:836c9a6383e0 36
dan_ackme 0:836c9a6383e0 37
dan_ackme 0:836c9a6383e0 38
dan_ackme 0:836c9a6383e0 39 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 40 WiconnectResult fileListCommand(int argc, char **argv)
dan_ackme 0:836c9a6383e0 41 {
dan_ackme 0:836c9a6383e0 42 WiconnectResult result;
dan_ackme 0:836c9a6383e0 43 Wiconnect *wiconnect = Wiconnect::getInstance();
dan_ackme 3:dddd476d5967 44 FileList fileList(TEST_BUFFER_LENGTH, TEST_BUFFER);
dan_ackme 0:836c9a6383e0 45 uint32_t type = FILE_TYPE_ANY;
dan_ackme 0:836c9a6383e0 46 const char *name = NULL;
dan_ackme 0:836c9a6383e0 47 uint32_t version = 0;
dan_ackme 0:836c9a6383e0 48
dan_ackme 0:836c9a6383e0 49 while(argc > 0)
dan_ackme 0:836c9a6383e0 50 {
dan_ackme 0:836c9a6383e0 51 if(argv[0][0] != '-' || argc < 2)
dan_ackme 0:836c9a6383e0 52 {
dan_ackme 0:836c9a6383e0 53 LOG_ERROR("Invalid command line argument");
dan_ackme 0:836c9a6383e0 54 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 55 }
dan_ackme 0:836c9a6383e0 56
dan_ackme 0:836c9a6383e0 57 switch(argv[0][1])
dan_ackme 0:836c9a6383e0 58 {
dan_ackme 0:836c9a6383e0 59 case 'v': {
dan_ackme 0:836c9a6383e0 60 if(!Wiconnect::fileVersionStrToInt(argv[1], &version))
dan_ackme 0:836c9a6383e0 61 {
dan_ackme 0:836c9a6383e0 62 LOG_ERROR("Invalid file version");
dan_ackme 0:836c9a6383e0 63 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 64 }
dan_ackme 0:836c9a6383e0 65 } break;
dan_ackme 0:836c9a6383e0 66 case 'n':
dan_ackme 0:836c9a6383e0 67 name = argv[1];
dan_ackme 0:836c9a6383e0 68 break;
dan_ackme 0:836c9a6383e0 69 case 't': {
dan_ackme 0:836c9a6383e0 70 if(!StringUtil::strHexToUint32((const char*)argv[1], &type))
dan_ackme 0:836c9a6383e0 71 {
dan_ackme 0:836c9a6383e0 72 LOG_ERROR("Invalid file type");
dan_ackme 0:836c9a6383e0 73 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 74 }
dan_ackme 0:836c9a6383e0 75 } break;
dan_ackme 0:836c9a6383e0 76 default:
dan_ackme 0:836c9a6383e0 77 LOG_ERROR("Unknown command option: %c", argv[0][1]);
dan_ackme 0:836c9a6383e0 78 return WICONNECT_BAD_ARG;
dan_ackme 0:836c9a6383e0 79 }
dan_ackme 0:836c9a6383e0 80
dan_ackme 0:836c9a6383e0 81 argc -= 2;
dan_ackme 0:836c9a6383e0 82 argv += 2;
dan_ackme 0:836c9a6383e0 83 }
dan_ackme 0:836c9a6383e0 84
dan_ackme 0:836c9a6383e0 85
dan_ackme 0:836c9a6383e0 86 if(!WICONNECT_FAILED(result, wiconnect->listFiles(fileList, name, (FileType)type, version)))
dan_ackme 0:836c9a6383e0 87 {
dan_ackme 0:836c9a6383e0 88 printFileList(fileList);
dan_ackme 0:836c9a6383e0 89 }
dan_ackme 0:836c9a6383e0 90
dan_ackme 0:836c9a6383e0 91 return result;
dan_ackme 0:836c9a6383e0 92
dan_ackme 0:836c9a6383e0 93 }
dan_ackme 0:836c9a6383e0 94
dan_ackme 0:836c9a6383e0 95 /*************************************************************************************************/
dan_ackme 0:836c9a6383e0 96 static void printFileList(const FileList &fileList)
dan_ackme 0:836c9a6383e0 97 {
dan_ackme 0:836c9a6383e0 98 int i = 1;
dan_ackme 0:836c9a6383e0 99
dan_ackme 0:836c9a6383e0 100 LOG_INFO("File count: %d", fileList.getCount());
dan_ackme 15:a835e28308b6 101 for(const WiconnectFile *file = fileList.getListHead(); file != NULL; file = file->getNext(), ++i)
dan_ackme 0:836c9a6383e0 102 {
dan_ackme 0:836c9a6383e0 103 LOG_INFO("------------------------\r\n"
dan_ackme 0:836c9a6383e0 104 "%d: %s\r\n"
dan_ackme 0:836c9a6383e0 105 "\tVersion: %s\r\n"
dan_ackme 0:836c9a6383e0 106 "\tSize: %d\r\n"
dan_ackme 0:836c9a6383e0 107 "\tType: %s\r\n"
dan_ackme 0:836c9a6383e0 108 "\tFlags: %s\r\n",
dan_ackme 0:836c9a6383e0 109 i, file->getName(),
dan_ackme 0:836c9a6383e0 110 file->getVersionStr(),
dan_ackme 0:836c9a6383e0 111 file->getSize(),
dan_ackme 0:836c9a6383e0 112 Wiconnect::fileTypeToStr(file->getType()),
dan_ackme 0:836c9a6383e0 113 Wiconnect::fileFlagsToStr(file->getFlags()));
dan_ackme 0:836c9a6383e0 114 }
dan_ackme 0:836c9a6383e0 115 }