title: How do I set a listener in Awesomium? ("Field type 'Listener' is an abstract class" error)
body: <p>I've been trying to get a Awesomium::WebViewListener working, but whenever I try to allocate the Listener object I get a "Field type 'Listener' is an abstract class" error.</p>
  
  <p>Here's my code:</p>
  
  <pre><code>class Listener : public Awesomium::WebViewListener
  {
  public:
      void onCallback(Awesomium::WebView* caller,
                      const std::wstring&amp; objectName,
                      const std::wstring&amp; callbackName,
                      const Awesomium::JSArguments&amp; args)
      {
          std::cout &lt;&lt; "Hello!" &lt;&lt; std::endl;
      }
  };
  
  // In the GUI class
  Listener listener; // Field type 'Listener' is an abstract class
  view-&gt;setListener(&amp;listener);
  </code></pre>
  
  <p>How am I supposed to set the listener if I can't allocate a Listener-object? I've tried using boost::shared_ptr which doesn't produce any errors but the onCallback()-function never gets called.</p>