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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  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. * @author chris
  35. */
  36. public enum CoreActionType implements ActionType {
  37. /** Client opened. */
  38. CLIENT_OPENED(ClientEvents.CLIENT_EVENT, "Client opened"),
  39. /** Client closed. */
  40. CLIENT_CLOSED(ClientEvents.CLIENT_EVENT, "Client closed"),
  41. /** Client closing. */
  42. CLIENT_CLOSING(ClientEvents.CLIENT_EVENT, "Client closing"),
  43. /** Client minimised. */
  44. CLIENT_MINIMISED(ClientEvents.CLIENT_EVENT, "Client minimised"),
  45. /** Client unminimised. */
  46. CLIENT_UNMINIMISED(ClientEvents.CLIENT_EVENT, "Client unminimised"),
  47. /** Client lost focus. */
  48. CLIENT_FOCUS_LOST(ClientEvents.CLIENT_EVENT, "Client lost focus"),
  49. /** Client gained focus. */
  50. CLIENT_FOCUS_GAINED(ClientEvents.CLIENT_EVENT, "Client gained focus"),
  51. /** Function key pressed. */
  52. CLIENT_KEY_PRESSED(ClientEvents.CLIENT_EVENT_WITH_KEY, "Function key pressed"),
  53. /** Frame changed. */
  54. CLIENT_FRAME_CHANGED(ClientEvents.WINDOW_EVENT, "Frame changed"),
  55. /** User input. */
  56. CLIENT_USER_INPUT(ClientEvents.CLIENT_EVENT_WITH_BUFFER, "User input"),
  57. /** Line added. */
  58. CLIENT_LINE_ADDED(ClientEvents.WINDOW_EVENT_WITH_MESSAGE, "Line added to a window"),
  59. /** Popup generated. */
  60. CLIENT_POPUP_GENERATED(ClientEvents.POPUP_EVENT, "Popup menu generated"),
  61. /** String styled. */
  62. CLIENT_STRING_STYLED(ClientEvents.CLIENT_EVENT_WITH_STYLE, "String styled"),
  63. /** Prefs dialog opened. */
  64. CLIENT_PREFS_OPENED(ClientEvents.CLIENT_EVENT_WITH_PREFS, "Preferences dialog opened"),
  65. /** Context-specific prefs requested. */
  66. CLIENT_PREFS_REQUESTED(ClientEvents.CLIENT_EVENT_WITH_PREFS_CAT, "Preferences requested"),
  67. /** Prefs dialog closed. */
  68. CLIENT_PREFS_CLOSED(ClientEvents.CLIENT_EVENT, "Preferences dialog opened"),
  69. /** Unknown command. */
  70. UNKNOWN_COMMAND(ClientEvents.UNKNOWN_COMMAND, "Unknown command entered"),
  71. /** Server numeric received. */
  72. SERVER_NUMERIC(ServerEvents.SERVER_NUMERIC, "Numeric event received"),
  73. /** Server connected. */
  74. SERVER_CONNECTED(ServerEvents.SERVER_EVENT, "Server connected"),
  75. /** Server connecting. */
  76. SERVER_CONNECTING(ServerEvents.SERVER_EVENT, "Server connecting"),
  77. /** Server connection error. */
  78. SERVER_CONNECTERROR(ServerEvents.SERVER_EVENT_WITH_ARG, "Server connection error"),
  79. /** Server disconnected. */
  80. SERVER_DISCONNECTED(ServerEvents.SERVER_EVENT, "Server disconnected"),
  81. /** Marked as away. */
  82. SERVER_BACK(ServerEvents.SERVER_EVENT, "Marked as 'back'"),
  83. /** Marked as back. */
  84. SERVER_AWAY(ServerEvents.SERVER_EVENT_WITH_ARG, "Marked as 'away'"),
  85. /** Error. */
  86. SERVER_ERROR(ServerEvents.SERVER_EVENT_WITH_ARG, "Server error"),
  87. /** Auth notice received. */
  88. SERVER_AUTHNOTICE(ServerEvents.SERVER_EVENT_WITH_ARG, "Received auth notice"),
  89. /** Unknown action received. */
  90. SERVER_UNKNOWNACTION(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown action"),
  91. /** Unknown notice received. */
  92. SERVER_UNKNOWNNOTICE(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown notice"),
  93. /** Unknown message received. */
  94. SERVER_UNKNOWNMESSAGE(ServerEvents.SERVER_UNKNOWN_EVENT, "Received unknown message"),
  95. /** User modes changed. */
  96. SERVER_USERMODES(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "User modes changed"),
  97. /** Private CTCP received. */
  98. SERVER_CTCP(ServerEvents.SERVER_CTCP_EVENT, "CTCP received"),
  99. /** Private CTCPR received. */
  100. SERVER_CTCPR(ServerEvents.SERVER_CTCP_EVENT, "CTCP reply received"),
  101. /** Private notice received. */
  102. SERVER_NOTICE(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Notice received"),
  103. /** Private server notice received. */
  104. SERVER_SERVERNOTICE(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Server notice received"),
  105. /** MOTD starting. */
  106. SERVER_MOTDSTART(ServerEvents.SERVER_EVENT_WITH_ARG, "Start of MOTD received"),
  107. /** MOTD ended. */
  108. SERVER_MOTDEND(ServerEvents.SERVER_EVENT_WITH_ARG, "End of MOTD received"),
  109. /** MOTD line. */
  110. SERVER_MOTDLINE(ServerEvents.SERVER_EVENT_WITH_ARG, "MOTD line received"),
  111. /** Ping reply received. */
  112. SERVER_GOTPING(ServerEvents.SERVER_PING, "Received server ping reply"),
  113. /** Missed server ping reply. */
  114. SERVER_NOPING(ServerEvents.SERVER_PING, "Missed server ping reply"),
  115. /** Ping sent. */
  116. SERVER_PINGSENT(ServerEvents.SERVER_EVENT, "Ping request sent"),
  117. /** Invite received. */
  118. SERVER_INVITERECEIVED(ServerEvents.SERVER_INVITE, "Invite received"),
  119. /** Wallops. */
  120. SERVER_WALLOPS(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Wallop received"),
  121. /** Wallusers. */
  122. SERVER_WALLUSERS(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Walluser received"),
  123. /** Walldesync. */
  124. SERVER_WALLDESYNC(ServerEvents.SERVER_SOURCED_EVENT_WITH_ARG, "Walldesync received"),
  125. /** Nick change. */
  126. SERVER_NICKCHANGE(ServerEvents.SERVER_NICKCHANGE, "My nickname changed"),
  127. /** Channel window opened. */
  128. CHANNEL_OPENED(ChannelEvents.CHANNEL_EVENT, "Channel window opened"),
  129. /** Channel window closed. */
  130. CHANNEL_CLOSED(ChannelEvents.CHANNEL_EVENT, "Channel window closed"),
  131. /** Names reply received. */
  132. CHANNEL_GOTNAMES(ChannelEvents.CHANNEL_EVENT, "Channel names reply received"),
  133. /** Channel topic is not set. */
  134. CHANNEL_NOTOPIC(ChannelEvents.CHANNEL_EVENT, "Channel topic is not set"),
  135. /** Channel topic received. */
  136. CHANNEL_GOTTOPIC(ChannelEvents.CHANNEL_TOPICEVENT, "Channel topic received"),
  137. /** Channel message sent. */
  138. CHANNEL_SELF_MESSAGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel message sent"),
  139. /** Channel action sent. */
  140. CHANNEL_SELF_ACTION(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel action sent"),
  141. /** Channel message received. */
  142. CHANNEL_MESSAGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel message received"),
  143. /** Channel actions received. */
  144. CHANNEL_ACTION(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel action received"),
  145. /** Channel notice received. */
  146. CHANNEL_NOTICE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Channel notice received"),
  147. /** Channel mode notice received. @since 0.6.3m2 */
  148. CHANNEL_MODE_NOTICE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_CHARARG, "Channel mode notice received"),
  149. /** Channel CTCP received. */
  150. CHANNEL_CTCP(ChannelEvents.CHANNEL_CTCP, "Channel CTCP received"),
  151. /** Someone joined a channel. */
  152. CHANNEL_JOIN(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone joined a channel"),
  153. /** Someone left a channel. */
  154. CHANNEL_PART(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone left a channel"),
  155. /** Someone quit. */
  156. CHANNEL_QUIT(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone quit IRC"),
  157. /** Someone was kicked. */
  158. CHANNEL_KICK(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_VICTIM, "Someone kicked someone"),
  159. /** Someone marked as away. */
  160. CHANNEL_USERAWAY(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone is marked as 'away'"),
  161. /** Someone marked as back. */
  162. CHANNEL_USERBACK(ChannelEvents.CHANNEL_SOURCED_EVENT, "Someone is marked as 'back'"),
  163. /** Channel list mode retrieved. @since 0.6.3 */
  164. CHANNEL_LISTMODERETRIEVED(ChannelEvents.CHANNEL_LISTMODEEVENT, "Channel list mode value retrieved"),
  165. /** Channel mode discovered. */
  166. CHANNEL_MODESDISCOVERED(ChannelEvents.CHANNEL_MODEEVENT, "Channel modes discovered"),
  167. /** Channel mode changes. */
  168. CHANNEL_MODECHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone changed channel modes"),
  169. /** Someone changed someone else's user modes. */
  170. CHANNEL_USERMODECHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_VICTIM, "Someone changed someone else's modes"),
  171. /** Someone changed nickname. */
  172. CHANNEL_NICKCHANGE(ChannelEvents.CHANNEL_NICKEVENT, "Someone changed nicknames"),
  173. /** Someone changed a topic. */
  174. CHANNEL_TOPICCHANGE(ChannelEvents.CHANNEL_SOURCED_EVENT_WITH_ARG, "Someone changed channel topic"),
  175. /** Query opened. */
  176. QUERY_OPENED(QueryEvents.QUERY_EVENT, "Query window opened"),
  177. /** Query closed. */
  178. QUERY_CLOSED(QueryEvents.QUERY_EVENT, "Query window closed"),
  179. /** Query message received. */
  180. QUERY_MESSAGE(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private message received"),
  181. /** Query action received. */
  182. QUERY_ACTION(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private action received"),
  183. /** Query message sent. */
  184. QUERY_SELF_MESSAGE(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private message sent"),
  185. /** Query action sent. */
  186. QUERY_SELF_ACTION(QueryEvents.QUERY_SOURCED_EVENT_WITH_ARG, "Private action sent"),
  187. /** Query quit event. */
  188. QUERY_QUIT(QueryEvents.QUERY_EVENT_WITH_ARG, "Query: user quit"),
  189. /** Query nick change. */
  190. QUERY_NICKCHANGE(QueryEvents.QUERY_EVENT_WITH_ARG, "Query: user changed nicks"),
  191. /** Plugin loaded. */
  192. PLUGIN_LOADED(PluginEvents.PLUGIN_EVENT, "Plugin loaded"),
  193. /** Plugin unloaded. */
  194. PLUGIN_UNLOADED(PluginEvents.PLUGIN_EVENT, "Plugin unloaded"),
  195. /** Plugins have been refreshed. */
  196. PLUGIN_REFRESH(PluginEvents.PLUGIN_EVENT, "Plugins refreshed"),
  197. /** Action created. */
  198. ACTION_CREATED(ActionEvents.ACTION_EVENT, "Action created"),
  199. /** Action updated. */
  200. ACTION_UPDATED(ActionEvents.ACTION_EVENT, "Action updated"),
  201. /** Action deleted. */
  202. ACTION_DELETED(ActionEvents.ACTION_DELETED, "Action deleted"),
  203. /** Channel clicked. */
  204. LINK_CHANNEL_CLICKED(LinkEvents.CHANNEL_CLICKED, "A channel link was clicked"),
  205. /** Channel clicked. */
  206. LINK_NICKNAME_CLICKED(LinkEvents.NICKNAME_CLICKED, "A nickname link was clicked"),
  207. /** Link clicked. */
  208. LINK_URL_CLICKED(LinkEvents.LINK_CLICKED, "A Link was clicked");
  209. /** The type of this action. */
  210. private final ActionMetaType type;
  211. /** The name of this action. */
  212. private final String name;
  213. /**
  214. * Constructs a new core action.
  215. * @param type The type of this action
  216. * @param name The name of this action
  217. */
  218. CoreActionType(final ActionMetaType type, final String name) {
  219. this.type = type;
  220. this.name = name;
  221. }
  222. /** {@inheritDoc} */
  223. @Override
  224. public ActionMetaType getType() {
  225. return type;
  226. }
  227. /** {@inheritDoc} */
  228. @Override
  229. public String getName() {
  230. return name;
  231. }
  232. }