You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CoreActionType.java 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. /*
  2. * Copyright (c) 2006-2011 Chris Smith, Shane Mc Cormack, Gregory Holmes
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a copy
  5. * of this software and associated documentation files (the "Software"), to deal
  6. * in the Software without restriction, including without limitation the rights
  7. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. * copies of the Software, and to permit persons to whom the Software is
  9. * furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  20. * SOFTWARE.
  21. */
  22. package com.dmdirc.actions;
  23. import com.dmdirc.actions.interfaces.ActionMetaType;
  24. import com.dmdirc.actions.interfaces.ActionType;
  25. import com.dmdirc.actions.metatypes.ActionEvents;
  26. import com.dmdirc.actions.metatypes.ChannelEvents;
  27. import com.dmdirc.actions.metatypes.ClientEvents;
  28. import com.dmdirc.actions.metatypes.LinkEvents;
  29. import com.dmdirc.actions.metatypes.PluginEvents;
  30. import com.dmdirc.actions.metatypes.QueryEvents;
  31. import com.dmdirc.actions.metatypes.ServerEvents;
  32. /**
  33. * An enumeration of actions that are raised by the core.
  34. */
  35. public enum CoreActionType implements ActionType {
  36. /** Client opened. */
  37. CLIENT_OPENED(ClientEvents.CLIENT_EVENT, "Client opened"),
  38. /** Client closed. */
  39. CLIENT_CLOSED(ClientEvents.CLIENT_EVENT, "Client closed"),
  40. /** Client closing. */
  41. CLIENT_CLOSING(ClientEvents.CLIENT_EVENT, "Client closing"),
  42. /** Client minimised. */
  43. CLIENT_MINIMISED(ClientEvents.CLIENT_EVENT, "Client minimised"),
  44. /** Client unminimised. */
  45. CLIENT_UNMINIMISED(ClientEvents.CLIENT_EVENT, "Client unminimised"),
  46. /** Client lost focus. */
  47. CLIENT_FOCUS_LOST(ClientEvents.CLIENT_EVENT, "Client lost focus"),
  48. /** Client gained focus. */
  49. CLIENT_FOCUS_GAINED(ClientEvents.CLIENT_EVENT, "Client gained focus"),
  50. /** Function key pressed. */
  51. CLIENT_KEY_PRESSED(ClientEvents.CLIENT_EVENT_WITH_KEY, "Function key pressed"),
  52. /** Frame changed. */
  53. CLIENT_FRAME_CHANGED(ClientEvents.WINDOW_EVENT, "Frame changed"),
  54. /** User input. */
  55. CLIENT_USER_INPUT(ClientEvents.CLIENT_EVENT_WITH_BUFFER, "User input"),
  56. /** Line added. */
  57. CLIENT_LINE_ADDED(ClientEvents.WINDOW_EVENT_WITH_MESSAGE, "Line added to a window"),
  58. /** Popup generated. */
  59. CLIENT_POPUP_GENERATED(ClientEvents.POPUP_EVENT, "Popup menu generated"),
  60. /** String styled. */
  61. CLIENT_STRING_STYLED(ClientEvents.CLIENT_EVENT_WITH_STYLE, "String styled"),
  62. /** Prefs dialog opened. */
  63. CLIENT_PREFS_OPENED(ClientEvents.CLIENT_EVENT_WITH_PREFS, "Preferences dialog opened"),
  64. /** Context-specific prefs requested. */
  65. CLIENT_PREFS_REQUESTED(ClientEvents.CLIENT_EVENT_WITH_PREFS_CAT, "Preferences requested"),
  66. /** Prefs dialog closed. */
  67. CLIENT_PREFS_CLOSED(ClientEvents.CLIENT_EVENT, "Preferences dialog opened"),
  68. /** Unknown command. */
  69. UNKNOWN_COMMAND(ClientEvents.UNKNOWN_COMMAND, "Unknown command entered"),
  70. /** Server numeric received. */
  71. SERVER_NUMERIC(ServerEvents.SERVER_NUMERIC, "Numeric event received"),
  72. /** Server connected. */
  73. SERVER_CONNECTED(ServerEvents.SERVER_EVENT, "Server connected"),
  74. /** Server connecting. */
  75. SERVER_CONNECTING(ServerEvents.SERVER_EVENT, "Server connecting"),
  76. /** Server connection error. */
  77. SERVER_CONNECTERROR(ServerEvents.SERVER_EVENT_WITH_ARG, "Server connection error"),
  78. /** Server disconnected. */
  79. SERVER_DISCONNECTED(ServerEvents.SERVER_EVENT, "Server disconnected"),
  80. /** Marked as away. */
  81. SERVER_BACK(ServerEvents.SERVER_EVENT, "Marked as 'back'"),
  82. /** Marked as back. */
  83. SERVER_AWAY(ServerEvents.SERVER_EVENT_WITH_ARG, "Marked as 'away'"),
  84. /** Error. */
  85. SERVER_ERROR(ServerEvents.SERVER_EVENT_WITH_ARG, "Server error"),
  86. /** Auth notice received. */
  87. SERVER_AUTHNOTICE(ServerEvents.SERVER_EVENT_WITH_ARG, "Received auth notice"),
  88. /** Unknown action received. */
  89. SERVER_UNKNOWNACTION(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown action"),
  90. /** Unknown notice received. */
  91. SERVER_UNKNOWNNOTICE(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown notice"),
  92. /** Unknown message received. */
  93. SERVER_UNKNOWNMESSAGE(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown message"),
  94. /** User modes changed. */
  95. SERVER_USERMODES(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "User modes changed"),
  96. /** Private CTCP received. */
  97. SERVER_CTCP(ServerEvents.SERVER_CTCP_EVENT, "CTCP received"),
  98. /** Private CTCPR received. */
  99. SERVER_CTCPR(ServerEvents.SERVER_CTCP_EVENT, "CTCP reply received"),
  100. /** Private notice received. */
  101. SERVER_NOTICE(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Notice received"),
  102. /** Private server notice received. */
  103. SERVER_SERVERNOTICE(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Server notice received"),
  104. /** MOTD starting. */
  105. SERVER_MOTDSTART(ServerEvents.SERVER_EVENT_WITH_ARG, "Start of MOTD received"),
  106. /** MOTD ended. */
  107. SERVER_MOTDEND(ServerEvents.SERVER_EVENT_WITH_ARG, "End of MOTD received"),
  108. /** MOTD line. */
  109. SERVER_MOTDLINE(ServerEvents.SERVER_EVENT_WITH_ARG, "MOTD line received"),
  110. /** Ping reply received. */
  111. SERVER_GOTPING(ServerEvents.SERVER_PING, "Received server ping reply"),
  112. /** Missed server ping reply. */
  113. SERVER_NOPING(ServerEvents.SERVER_PING, "Missed server ping reply"),
  114. /** Ping sent. */
  115. SERVER_PINGSENT(ServerEvents.SERVER_EVENT, "Ping request sent"),
  116. /** Invite received. */
  117. SERVER_INVITERECEIVED(ServerEvents.SERVER_INVITE, "Invite received"),
  118. /** Wallops. */
  119. SERVER_WALLOPS(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Wallop received"),
  120. /** Wallusers. */
  121. SERVER_WALLUSERS(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Walluser received"),
  122. /** Walldesync. */
  123. SERVER_WALLDESYNC(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Walldesync received"),
  124. /** Nick change. */
  125. SERVER_NICKCHANGE(ServerEvents.SERVER_NICKCHANGE, "My nickname changed"),
  126. /** Channel window opened. */
  127. CHANNEL_OPENED(ChannelEvents.CHANNEL_EVENT, "Channel window opened"),
  128. /** Channel window closed. */
  129. CHANNEL_CLOSED(ChannelEvents.CHANNEL_EVENT, "Channel window closed"),
  130. /** Names reply received. */
  131. CHANNEL_GOTNAMES(ChannelEvents.CHANNEL_EVENT, "Channel names reply received"),
  132. /** Channel topic is not set. */
  133. CHANNEL_NOTOPIC(ChannelEvents.CHANNEL_EVENT, "Channel topic is not set"),
  134. /** Channel topic received. */
  135. CHANNEL_GOTTOPIC(ChannelEvents.CHANNEL_TOPICEVENT, "Channel topic received"),
  136. /** Channel message sent. */
  137. CHANNEL_SELF_MESSAGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel message sent"),
  138. /** Channel action sent. */
  139. CHANNEL_SELF_ACTION(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel action sent"),
  140. /** Channel message received. */
  141. CHANNEL_MESSAGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel message received"),
  142. /** Channel actions received. */
  143. CHANNEL_ACTION(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel action received"),
  144. /** Channel notice received. */
  145. CHANNEL_NOTICE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel notice received"),
  146. /** Channel mode notice received. @since 0.6.3m2 */
  147. CHANNEL_MODE_NOTICE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_CHARARG, "Channel mode notice received"),
  148. /** Channel CTCP received. */
  149. CHANNEL_CTCP(ChannelEvents.CHANNEL_CTCP, "Channel CTCP received"),
  150. /** Someone joined a channel. */
  151. CHANNEL_JOIN(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone joined a channel"),
  152. /** Someone left a channel. */
  153. CHANNEL_PART(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone left a channel"),
  154. /** Someone quit. */
  155. CHANNEL_QUIT(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone quit IRC"),
  156. /** Someone was kicked. */
  157. CHANNEL_KICK(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_VICTIM, "Someone kicked someone"),
  158. /** Someone marked as away. */
  159. CHANNEL_USERAWAY(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone is marked as 'away'"),
  160. /** Someone marked as back. */
  161. CHANNEL_USERBACK(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone is marked as 'back'"),
  162. /** Channel list mode retrieved. @since 0.6.3 */
  163. CHANNEL_LISTMODERETRIEVED(ChannelEvents.CHANNEL_LISTMODEEVENT, "Channel list mode value retrieved"),
  164. /** Channel mode discovered. */
  165. CHANNEL_MODESDISCOVERED(ChannelEvents.CHANNEL_MODEEVENT, "Channel modes discovered"),
  166. /** Channel mode changes. */
  167. CHANNEL_MODECHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone changed channel modes"),
  168. /** Someone changed someone else's user modes. */
  169. CHANNEL_USERMODECHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_VICTIM, "Someone changed someone else's modes"),
  170. /** Someone changed nickname. */
  171. CHANNEL_NICKCHANGE(ChannelEvents.CHANNEL_NICKEVENT, "Someone changed nicknames"),
  172. /** Someone changed a topic. */
  173. CHANNEL_TOPICCHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone changed channel topic"),
  174. /** Query opened. */
  175. QUERY_OPENED(QueryEvents.QUERY_EVENT, "Query window opened"),
  176. /** Query closed. */
  177. QUERY_CLOSED(QueryEvents.QUERY_EVENT, "Query window closed"),
  178. /** Query message received. */
  179. QUERY_MESSAGE(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private message received"),
  180. /** Query action received. */
  181. QUERY_ACTION(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private action received"),
  182. /** Query message sent. */
  183. QUERY_SELF_MESSAGE(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private message sent"),
  184. /** Query action sent. */
  185. QUERY_SELF_ACTION(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private action sent"),
  186. /** Query quit event. */
  187. QUERY_QUIT(QueryEvents.QUERY_EVENT_WITH_ARG, "Query: user quit"),
  188. /** Query nick change. */
  189. QUERY_NICKCHANGE(QueryEvents.QUERY_EVENT_WITH_ARG, "Query: user changed nicks"),
  190. /** Plugin loaded. */
  191. PLUGIN_LOADED(PluginEvents.PLUGIN_EVENT, "Plugin loaded"),
  192. /** Plugin unloaded. */
  193. PLUGIN_UNLOADED(PluginEvents.PLUGIN_EVENT, "Plugin unloaded"),
  194. /** Plugins have been refreshed. */
  195. PLUGIN_REFRESH(PluginEvents.PLUGIN_EVENT, "Plugins refreshed"),
  196. /** Action created. */
  197. ACTION_CREATED(ActionEvents.ACTION_EVENT, "Action created"),
  198. /** Action updated. */
  199. ACTION_UPDATED(ActionEvents.ACTION_EVENT, "Action updated"),
  200. /** Action deleted. */
  201. ACTION_DELETED(ActionEvents.ACTION_DELETED, "Action deleted"),
  202. /** Channel clicked. */
  203. LINK_CHANNEL_CLICKED(LinkEvents.CHANNEL_CLICKED, "A channel link was clicked"),
  204. /** Channel clicked. */
  205. LINK_NICKNAME_CLICKED(LinkEvents.NICKNAME_CLICKED, "A nickname link was clicked"),
  206. /** Link clicked. */
  207. LINK_URL_CLICKED(LinkEvents.LINK_CLICKED, "A Link was clicked");
  208. /** The type of this action. */
  209. private final ActionMetaType type;
  210. /** The name of this action. */
  211. private final String name;
  212. /**
  213. * Constructs a new core action.
  214. * @param type The type of this action
  215. * @param name The name of this action
  216. */
  217. CoreActionType(final ActionMetaType type, final String name) {
  218. this.type = type;
  219. this.name = name;
  220. }
  221. /** {@inheritDoc} */
  222. @Override
  223. public ActionMetaType getType() {
  224. return type;
  225. }
  226. /** {@inheritDoc} */
  227. @Override
  228. public String getName() {
  229. return name;
  230. }
  231. }