SDL  2.0
testpower.c
Go to the documentation of this file.
1 /*
2  Copyright (C) 1997-2018 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
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) {
27  statestr = "Unknown";
28  break;
30  statestr = "On battery";
31  break;
33  statestr = "No battery";
34  break;
36  statestr = "Charging";
37  break;
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 */
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 ... */
#define SDL_GetError
struct xkb_state * state
#define SDL_LogError
#define SDL_Log
static void report_power(void)
Definition: testpower.c:18
#define SDL_Quit
#define SDL_GetPowerInfo
#define SDL_LogSetPriority
#define NULL
Definition: begin_code.h:164
SDL_PowerState
The basic state for the system&#39;s power supply.
Definition: SDL_power.h:42
int main(int argc, char *argv[])
Definition: testpower.c:64
#define SDL_Init