Sha256: 507b7b0aee61eccb881a6351fbd4d7de1aa7c14cdee651bf45a9cfcd12cb6067

Contents?: true

Size: 1.02 KB

Versions: 15

Compression:

Stored size: 1.02 KB

Contents

#ifndef Rice__Director__hpp_
#define Rice__Director__hpp_

#include "Object.hpp"

namespace Rice {

  /**
   * A Director works exactly as a SWIG %director works (thus the name).
   * You use this class to help build proxy classes so that polymorphism
   * works from C++ into Ruby.
   */
  class Director 
  {
    public:
      //! Construct new Director. Needs the Ruby object so that the 
      //  proxy class can call methods on that object.
      Director(Object self);

      virtual ~Director() { }

      //! Raise a ruby exception when a call comes through for a pure virtual method
      /*! If a Ruby script calls 'super' on a method that's otherwise a pure virtual
       *  method, use this method to throw an exception in this case. 
       */
      void raisePureVirtual() const;

      //! Get the Ruby object linked to this C++ instance
      Object getSelf() const { return self_; }

    private:

      // Save the Ruby object related to the instance of this class
      Object self_;

  };
}

#endif // Rice__Director__hpp_

Version data entries

15 entries across 15 versions & 4 rubygems

Version Path
keyme-rice-1.5.1.keyme1 rice/Director.hpp
keyme-rice-1.5.1.keyme rice/Director.hpp
rice-1.5.1 rice/Director.hpp
rice-1.5.0 rice/Director.hpp
rice-jdguyot-1.4.3p1 rice/Director.hpp
rice-1.4.3 rice/Director.hpp
wurlinc-rice-1.4.0.4 rice/Director.hpp
wurlinc-rice-1.4.0.1 rice/Director.hpp
rice-1.4.2 rice/Director.hpp
rice-jdguyot-1.4.0.p1 rice/Director.hpp
rice-jdguyot-1.4.0 rice/Director.hpp
rice-1.4.0 rice/Director.hpp
rice-1.3.2 rice/Director.hpp
rice-1.3.1 rice/Director.hpp
rice-1.3.0 rice/Director.hpp