test/testpower.c
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Fri, 16 Dec 2016 22:58:32 +0100
changeset 10707 28c1a3f9c88b
parent 9998 f67cf37e9cd4
child 10737 3406a0f8b041
permissions -rw-r--r--
Fixed hotplug with more than one device in testjoystick program.
     1 /*
     2   Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
     3 
     4   This software is provided 'as-is', without any express or implied
     5   warranty.  In no event will the authors be held liable for any damages
     6   arising from the use of this software.
     7 
     8   Permission is granted to anyone to use this software for any purpose,
     9   including commercial applications, and to alter it and redistribute it
    10   freely.
    11 */
    12 /* Simple test of power subsystem. */
    13 
    14 #include <stdio.h>
    15 #include "SDL.h"
    16 
    17 static void
    18 report_power(void)
    19 {
    20     int seconds, percent;
    21     const SDL_PowerState state = SDL_GetPowerInfo(&seconds, &percent);
    22     char *statestr = NULL;
    23 
    24     SDL_Log("SDL-reported power info...\n");
    25     switch (state) {
    26     case SDL_POWERSTATE_UNKNOWN:
    27         statestr = "Unknown";
    28         break;
    29     case SDL_POWERSTATE_ON_BATTERY:
    30         statestr = "On battery";
    31         break;
    32     case SDL_POWERSTATE_NO_BATTERY:
    33         statestr = "No battery";
    34         break;
    35     case SDL_POWERSTATE_CHARGING:
    36         statestr = "Charging";
    37         break;
    38     case SDL_POWERSTATE_CHARGED:
    39         statestr = "Charged";
    40         break;
    41     default:
    42         statestr = "!!API ERROR!!";
    43         break;
    44     }
    45 
    46     SDL_Log("State: %s\n", statestr);
    47 
    48     if (percent == -1) {
    49         SDL_Log("Percent left: unknown\n");
    50     } else {
    51         SDL_Log("Percent left: %d%%\n", percent);
    52     }
    53 
    54     if (seconds == -1) {
    55         SDL_Log("Time left: unknown\n");
    56     } else {
    57         SDL_Log("Time left: %d minutes, %d seconds\n", (int) (seconds / 60),
    58                (int) (seconds % 60));
    59     }
    60 }
    61 
    62 
    63 int
    64 main(int argc, char *argv[])
    65 {
    66     /* Enable standard application logging */
    67     SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
    68 
    69     if (SDL_Init(0) == -1) {
    70         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_Init() failed: %s\n", SDL_GetError());
    71         return 1;
    72     }
    73 
    74     report_power();
    75 
    76     SDL_Quit();
    77     return 0;
    78 }
    79 
    80 /* end of testpower.c ... */