/usr/include/Wt/WStatelessSlot is in libwt-dev 3.3.4+dfsg-6ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | // This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WSTATELESSSLOT_H_
#define WSTATELESSSLOT_H_
#include <Wt/WDllDefs.h>
#include <vector>
#include <string>
#include <Wt/WObject>
namespace Wt {
class WObject;
class JSlot;
class EventSignalBase;
class WT_API WStatelessSlot
{
public:
  WStatelessSlot(const std::string& javaScript);
  ~WStatelessSlot();
  typedef void (WObject::*WObjectMethod)();
  enum SlotType { 
    AutoLearnStateless,
    PreLearnStateless,
    JavaScriptSpecified
  };
    
  SlotType type() const; 
  bool learned() const;
  void setNotLearned();
  void setJavaScript(const std::string& javaScript);
  bool addConnection(EventSignalBase *);
  bool removeConnection(EventSignalBase *);
  const std::string& javaScript() const { return jscript_; }
  void trigger();
  void undoTrigger();
  bool implementsMethod(WObjectMethod method) const;
#ifndef WT_TARGET_JAVA
  void disconnectFrom(EventSignalBase *);
#endif
protected:
  WStatelessSlot(WObject *target, WObjectMethod method);
  WStatelessSlot(WObject *target, WObjectMethod method,
		 WObjectMethod undoMethod);
  WStatelessSlot(WObject *target, WObjectMethod method,
		 const std::string& javaScript);
private:
  void reimplementPreLearn(WObjectMethod undoMethod);
  void reimplementJavaScript(const std::string& javaScript);
  WObject       *target_;
  WObjectMethod  method_;
  WObjectMethod  undoMethod_;
  bool                           learned_;
  std::string                    jscript_;
  std::vector<EventSignalBase *> connectingSignals_;     
  friend class WObject;
  friend class JSlot;
};
class WT_API SlotLearnerInterface {
public:
  virtual std::string learn(WStatelessSlot* slot) = 0;
  virtual ~SlotLearnerInterface() { }
};
}
#endif // WSTATELESSSLOT_H_
 |