title: Elegant way to disconnect slot after first call
body: <p>Inside the constructor, there is a connection:</p>
  
  <pre><code>connect(&amp;amskspace::on_board_computer_model::self(),
        SIGNAL(camera_status_changed(const amskspace::camera_status_t&amp;)),
        this,
        SLOT(set_camera_status(const amskspace::camera_status_t&amp;)));
  </code></pre>
  
  <p>And the method:</p>
  
  <pre><code>void camera_model::
  set_camera_status(const amskspace::camera_status_t&amp; status) {
    disconnect(&amp;amskspace::on_board_computer_model::self(),
               SIGNAL(camera_status_changed(const amskspace::camera_status_t&amp;)),
               this,
               SLOT(set_camera_status(const amskspace::camera_status_t&amp;)));
  
    // do the job
  }
  </code></pre>
  
  <p>And I'd like to disconnect this slot after the first call.</p>
  
  <p>The question is: Is there a way to call the slot only once? Without the explicit disconnection? Like a single shot method? Is it possible?</p>