In my opinion I can wait for an event, but I can't read it like a bool. Am I right?
Not possible for battery. Each event that is published sends a signal, which "flips" a switch in ALMemory. You can only read the value or state of a quantity if such memory key exists for them. Otherwise, the information is lost and cannot be retrieved.
For example, each time the charge percentage changes, an event triggers and sends a signal to this memory key:
Device/SubDeviceList/Battery/Charge/Sensor/Value
You can then directly read this value with a supplied API, the same way you described in your question by a method. For charging, there is simply no such key.
You could try:
mem = ALProxy(ALMemory, pip, pport)
mem.getData("BatteryPowerPluggedChanged")
to access the boolean variable of Event: "BatteryPowerPluggedChanged", and you will get true / false. But this does not help you because it won't reflect real time changes if you are not subscribed to the event beforehand.
Hope this helps.