Power Manager: Developer
Dragon Systems Software Limited (DssW)
4.0.0
Copyright © 1997, 2010 Dragon Systems Software Limited (DssW)
2010-08-25-15-14-32
Table of Contents
- I. API Overview
- 1. Getting Started
- 2. Supporting Agents, Daemons, and Utilities
- pmctl — control tool.
- pmnotify.app — notification agent.
- pmrights — authorisation rights tool.
- pmuli — universal login item tool.
- pmuser — per-session daemon.
- pmuser.app — universal login item.
- Power Manager Access — user interface assistant.
- Remove Power Manager — removal tool.
- pmnotify.app — notification agent.
- pmctl — control tool.
- 3. Supporting Bonjour
- II. API Reference
- I. Application Programmer Interfaces (APIs)
- pme.api.pmdctl — Primary interface for the Power Manager Engine.
- II. Build
- build.version — Engine's release version.
- build.restart — Restart the engine and associated processes.
- build.version — Engine's release version.
- III. Client
- client.computername — Computer's name.
- client.localhostname — Computer's local host name.
- client.ethernetaddress — Primary ethernet address.
- client.ethernetaddresses — All ethernet addresses.
- client.machinemodel — Machine's model type.
- client.localhostname — Computer's local host name.
- client.computername — Computer's name.
- IV. Event Store
- eventstore.events — Available events that can be triggered or performed.
- eventstore.store — Store zero or more events.
- eventstore.remove — Remove an event.
- eventstore.history — Event history.
- eventstore.store — Store zero or more events.
- eventstore.events — Available events that can be triggered or performed.
- V. Legal
- legal.licence — Engine's licence details.
- legal.license — Set the licence details.
- legal.revoke — Remove all licence information.
- legal.license — Set the licence details.
- legal.licence — Engine's licence details.
- VI. Listen
- listen.sockets — Sockets the engine accepts incoming connections on.
- listen.applysocket — Set a socket to listen for incoming connections on.
- listen.removesocket — Remove a socket.
- listen.applysocket — Set a socket to listen for incoming connections on.
- listen.sockets — Sockets the engine accepts incoming connections on.
- VII. Log
- log.recent — Audit log tail.
- log.filterlevel — Filtering out log messages with levels lower than this.
- log.setfilterlevel — Set the filter level for new log messages.
- log.filterlevel — Filtering out log messages with levels lower than this.
- log.recent — Audit log tail.
- VIII. Notifications
- notifications.current — Notifying date and time based triggers with events.
- notifications.warning — Warnings of host affecting actions.
- notifications.warningperiod — Seconds to display warnings.
- notifications.notifyperiod — Seconds to display notifications.
- notifications.setwarningperiod — Set the seconds to display warnings.
- notifications.setnotifyperiod — Sets seconds before an Event the user is notified.
- notifications.warning — Warnings of host affecting actions.
- notifications.current — Notifying date and time based triggers with events.
- IX. On Demand
- ondemand.available — Available on demand events.
- ondemand.perform — Perform an event's actions.
- ondemand.available — Available on demand events.
- X. Scheduler
- scheduler.enabled — Can events be triggered.
- scheduler.pending — Date and time based triggers with events.
- scheduler.active — Active events.
- scheduler.assistants — Local assistant signatures.
- scheduler.setenabled — Set the Scheduler's enabled state.
- scheduler.cancel — Cancel a pending queued trigger.
- scheduler.adjust — Adjust a pending trigger date.
- scheduler.reset — Reset a pending trigger.
- scheduler.pending — Date and time based triggers with events.
- scheduler.enabled — Can events be triggered.
- XI. Time Zone
- timezone.name — name
- timezone.utcoffset — UTC offset in seconds
- timezone.name — name
- XII. Structures
- SSL — A description of a SSL configuration.
- action — Task to perform.
- action sleep — Put the computer to sleep.
- action shut down — Shut down the computer.
- action restart — Restart the computer.
- action log out — Log out all users.
- action fast user switch — Switch to the Login Window.
- action notification — Post a notification.
- action await notification — Wait for a notification.
- action await relative date — Wait for a period of time.
- action execute external — Execute an external process.
- action launch application — Launch an application.
- action warn — Warn users of imminent host affecting action.
- action await power on — Wait for the computer to power on.
- action await sample — Wait for the sample to successfully conclude.
- active event — Active event instance.
- application description — Description for launching an external process.
- assistant — Assistant details.
- condition — Description of a testable condition that resolves to a boolean.
- condition boolean — A constant condition.
- condition delayed boolean — A delayed constant condition.
- condition days — Conditional on the day of the week.
- condition date range — Conditional on the date falling within a specific period.
- condition time range — Conditional on the time now falling within a specific period.
- condition execute external — Conditional on the external executable's exit status.
- condition sample — Conditional on a sample's successful conclusion.
- condition running processes — Conditional on whether specific processes are running.
- condition power assertions — Conditional on whether other processes have power assertions set.
- criteria — Group of conditions to test.
- event — Event containing triggers to observe, conditions to test, and actions to perform.
- event history — Event history.
- external — Description for executing an external process.
- external executable — Execute the external executable.
- external inline — Execute the inline content.
- external criterion — Criterion for judging an external executable sample.
- external criterion interpret — Interpret the output as a number.
- external criterion contains — Output contains a value.
- licence — Licence details for this Power Manager Engine.
- log message
- process signature — Process signature provides a robust means of identifying a running process.
- process signature bundle identifier — Match a process's bundle identifier.
- process signature name — Match a process's bundle or executable name.
- process signature localised name — Match a process's localised name.
- queued trigger — Queued trigger instance.
- queued warning — Host wide warning.
- resource limits — Constraints for external processes.
- sample — Description for sampling.
- sample execute external — Sample from an external executable.
- sample criterion — Criterion for concluding a sample.
- socket — A description of a TCP/IP socket.
- trigger — Description of an external event or potential change in state to watch.
- trigger once — Trigger once on a given time and date.
- trigger daily — Trigger at a given time on given days of the week.
- trigger after inactivity — Trigger after a given period of user inactivity.
- trigger notification — Trigger on a notification.
- trigger power on — Trigger when host powers on.
- trigger start up — Trigger when host starts up.
- trigger log in — Trigger when a user logs in.
- trigger log out — Trigger when a user logs out.
- trigger sample — Trigger when a sample successfully concludes.
- action — Task to perform.
- SSL — A description of a SSL configuration.
- XIII. Elements
- SSL allowances — SSL allow.
- SSL level — SSL level.
- action type — Types of action.
- application behaviour — Application launch behaviours.
- application visibility — Application visibility.
- behaviour — Event wide behaviours.
- comparison — Value comparison methods.
- comparison option — Comparison options.
- condition type — Types of condition.
- day — Days of the week.
- days — Days of the week. Any combination of unique days.
- delay by seconds — Seconds to delay by.
- drift — Acceptable date and time drift.
- encoding — Encoding formats.
- event activity — Active event state.
- external continues — When to continue performing remaining actions.
- external criterion type — Types of external criterion.
- external files — Special case external files.
- external type — Types of externals.
- external user types — Types of special case users.
- image — Built-in image identifiers.
- licence state — Available licence states.
- message level — Levels of log messages.
- notification — Notification.
- port — TCP/IP port.
- power — Power event.
- process signature type — Types of process signature.
- protocol family — Supported network protocols.
- quiet — Minimise notifications.
- requires — How many must resolve to true.
- sample criterion type — Types of sample criterion.
- scatter — Seconds, plus and minus, to scatter a date and time by.
- scope — Scope of notification.
- socket options — Socket options.
- socket state — Socket states.
- source type — Types of sample sources.
- time out — Duration after which a silent connection is disconnected.
- trigger type — Types of trigger.
- unique ID — Unique identifier (ID).
- value — Value to compare against.
- SSL level — SSL level.
- SSL allowances — SSL allow.
- Index
List of Tables
List of Examples
- 1.1. Create a PMConnection
- 1.2. Connect to the default engine
- 1.3. Default main.c of a Core Services XCode 3.2 project
- 1.4. Include the PowerManager framework headers.
- 1.5. Create a PMConnectionRef.
- 1.6. Create and set a PMAuthenticator.
- 1.7. Connect to a URL and enter the runloop.
- 1.8. Create and set a custom PMAuthenticator.
- 1.9. Create a response array and iterate over the requests.
- 1.10. Get the request type for request.
- 1.11. Handle the prompt request type.
- 1.12. Handle the informative message request type.
- 1.13. Handle the error message request type.
- 2.1. Integer coercions
- 2.2. Boolean coercions
- 2.3. Date coercions
- 17. C: build.version
- 18. Objective-C: build.version
- 19. AppleScript: build.version
- 20. Shell: build.version
- 21. C: Minimal build.restart
- 22. C: client.computername
- 23. Objective-C: client.computername
- 24. AppleScript: client.computername
- 25. Shell: client.computername
- 26. C: client.localhostname
- 27. Objective-C: client.localhostname
- 28. AppleScript: client.localhostname
- 29. Shell: client.localhostname
- 30. C: client.ethernetaddress
- 31. Objective-C: client.ethernetaddress
- 32. AppleScript: client.ethernetaddress
- 33. Shell: client.ethernetaddress
- 34. C: client.ethernetaddresses
- 35. Objective-C: client.ethernetaddresses
- 36. AppleScript: client.ethernetaddresses
- 37. Shell: client.ethernetaddresses
- 38. C: client.machinemodel
- 39. Objective-C: client.machinemodel
- 40. AppleScript: client.machinemodel
- 41. Shell: client.machinemodel
- 42. C: eventstore.events
- 43. Objective-C: eventstore.events
- 44. AppleScript: eventstore.events
- 45. Shell: eventstore.events
- 46. C: Minimal eventstore.store
- 47. C: Minimal eventstore.remove
- 48. C: Minimal eventstore.history
- 49. C: legal.licence
- 50. Objective-C: legal.licence
- 51. AppleScript: legal.licence
- 52. Shell: legal.licence
- 53. C: Minimal legal.license
- 54. C: Minimal legal.revoke
- 55. C: listen.sockets
- 56. Objective-C: listen.sockets
- 57. AppleScript: listen.sockets
- 58. Shell: listen.sockets
- 59. C: Minimal listen.applysocket
- 60. C: Minimal listen.removesocket
- 61. C: log.recent
- 62. Objective-C: log.recent
- 63. AppleScript: log.recent
- 64. Shell: log.recent
- 65. C: log.filterlevel
- 66. Objective-C: log.filterlevel
- 67. AppleScript: log.filterlevel
- 68. Shell: log.filterlevel
- 69. C: Minimal log.setfilterlevel
- 70. C: notifications.current
- 71. Objective-C: notifications.current
- 72. AppleScript: notifications.current
- 73. Shell: notifications.current
- 74. C: notifications.warning
- 75. Objective-C: notifications.warning
- 76. AppleScript: notifications.warning
- 77. Shell: notifications.warning
- 78. C: notifications.warningperiod
- 79. Objective-C: notifications.warningperiod
- 80. AppleScript: notifications.warningperiod
- 81. Shell: notifications.warningperiod
- 82. C: notifications.notifyperiod
- 83. Objective-C: notifications.notifyperiod
- 84. AppleScript: notifications.notifyperiod
- 85. Shell: notifications.notifyperiod
- 86. C: Minimal notifications.setwarningperiod
- 87. C: Minimal notifications.setnotifyperiod
- 88. C: ondemand.available
- 89. Objective-C: ondemand.available
- 90. AppleScript: ondemand.available
- 91. Shell: ondemand.available
- 92. C: Minimal ondemand.perform
- 93. C: scheduler.enabled
- 94. Objective-C: scheduler.enabled
- 95. AppleScript: scheduler.enabled
- 96. Shell: scheduler.enabled
- 97. C: scheduler.pending
- 98. Objective-C: scheduler.pending
- 99. AppleScript: scheduler.pending
- 100. Shell: scheduler.pending
- 101. C: scheduler.active
- 102. Objective-C: scheduler.active
- 103. AppleScript: scheduler.active
- 104. Shell: scheduler.active
- 105. C: scheduler.assistants
- 106. Objective-C: scheduler.assistants
- 107. AppleScript: scheduler.assistants
- 108. Shell: scheduler.assistants
- 109. C: Minimal scheduler.setenabled
- 110. C: Minimal scheduler.cancel
- 111. C: Minimal scheduler.adjust
- 112. C: Minimal scheduler.reset
- 113. C: timezone.name
- 114. Objective-C: timezone.name
- 115. AppleScript: timezone.name
- 116. Shell: timezone.name
- 117. C: timezone.utcoffset
- 118. Objective-C: timezone.utcoffset
- 119. AppleScript: timezone.utcoffset
- 120. Shell: timezone.utcoffset
- 1.2. Connect to the default engine