1 | /* |
2 | Copyright (C) 1997-2021 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 ... */ |
81 | |