- virtual XLine* Generate(time_t set_time, long duration, const char* source, const char* reason, const char* xline_specific_mask) = 0;
+ /** Generate a specialized XLine*.
+ * @param set_time Time this line was created
+ * @param duration Duration of the line
+ * @param source The sender of the line, nickname or server
+ * @param reason The reason for the line
+ * @param xline_specific_mask The mask string for the line, specific to the XLine type being created.
+ * @return A specialized XLine class of the given type for this factory.
+ */
+ virtual XLine* Generate(time_t set_time, long duration, std::string source, std::string reason, std::string xline_specific_mask) = 0;
+
+ virtual bool AutoApplyToUserList(XLine* x) { return true; }