+ const char* Displayable()
+ {
+ return nickname.c_str();
+ }
+};
+
+/** An XLineFactory specialized to generate SVSHOLD pointers
+ */
+class SVSHoldFactory : public XLineFactory
+{
+ public:
+ SVSHoldFactory() : XLineFactory("SVSHOLD") { }
+
+ /** Generate a shun
+ */
+ XLine* Generate(time_t set_time, long duration, std::string source, std::string reason, std::string xline_specific_mask)
+ {
+ return new SVSHold(set_time, duration, source, reason, xline_specific_mask);
+ }
+
+ bool AutoApplyToUserList(XLine *x)
+ {
+ return false;
+ }
+};