]> git.mxchange.org Git - flightgear.git/commitdiff
Let's try it again, with the correct file name this time.
authorcurt <curt>
Wed, 10 Apr 2002 17:51:34 +0000 (17:51 +0000)
committercurt <curt>
Wed, 10 Apr 2002 17:51:34 +0000 (17:51 +0000)
src/Include/Makefile.am
src/Include/fg_callback.h [deleted file]
src/Include/fg_callback.hxx [new file with mode: 0644]

index 6764b99aa401a311178ca655d8316771e15685db..fd432745da7b69d9cf519a7efa0da74d6815405b 100644 (file)
@@ -3,6 +3,7 @@ EXTRA_DIST = \
        config.h.in \
        config.h-msvc6 \
        cmdargs.h \
+       fg_callback.hxx \
        fg_typedefs.h \
        fg_stl_config.h \
        general.hxx
diff --git a/src/Include/fg_callback.h b/src/Include/fg_callback.h
deleted file mode 100644 (file)
index 5b0f112..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/**************************************************************************
- * fg_callback.hxx -- Wrapper classes to treat function and method pointers
- * as objects.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id$
- **************************************************************************/
-
-#ifndef _FG_CALLBACK_HXX
-#define _FG_CALLBACK_HXX
-
-// -dw- need size_t for params() function
-#ifdef __MWERKS__
-typedef unsigned long  size_t;
-#endif
-
-
-//-----------------------------------------------------------------------------
-//
-// Abstract base class for all FlightGear callbacks.
-//
-class fgCallback
-{
-public:
-    virtual ~fgCallback() {}
-
-    virtual fgCallback* clone() const = 0;
-    virtual void* call( void** ) = 0;
-
-    size_t params() const { return n_params; }
-
-protected:
-    fgCallback( size_t params )
-       : n_params(params) {}
-
-protected:
-    // The number of parameters to pass to the callback routine.
-    size_t n_params;
-
-private:
-};
-
-//-----------------------------------------------------------------------------
-//
-// Callback for invoking a file scope function.
-//
-class fgFunctionCallback : public fgCallback
-{
-public:
-    // Pointer to function taking no arguments and returning void.
-    typedef void (*Proc0v)();
-
-    // A callback instance to invoke the function 'p'
-    fgFunctionCallback( Proc0v p );
-
-    // Create a clone on the heap.
-    virtual fgCallback* clone() const;
-
-private:
-    void* call( void** in );
-    inline void* call0v( void** );
-
-private:
-    // Not defined.
-    fgFunctionCallback();
-
-private:
-
-    typedef void* (fgFunctionCallback::*DoPtr)( void** );
-    DoPtr doPtr;
-    Proc0v proc0v;
-};
-
-inline
-fgFunctionCallback::fgFunctionCallback( Proc0v p )
-    : fgCallback(0),
-      doPtr(&fgFunctionCallback::call0v),
-      proc0v(p)
-{
-    // empty
-}
-
-inline fgCallback*
-fgFunctionCallback::clone() const
-{
-    return new fgFunctionCallback( *this );
-}
-
-inline void*
-fgFunctionCallback::call( void** in )
-{
-    return (this->*doPtr)( in );
-}
-
-inline void*
-fgFunctionCallback::call0v( void** )
-{
-    (*proc0v)();
-    return (void*) NULL;
-}
-
-//-----------------------------------------------------------------------------
-//
-// Callback for invoking an object method.
-//
-template< class T >
-class fgMethodCallback : public fgCallback
-{
-public:
-    // Pointer to method taking no arguments and returning void.
-    typedef void (T::*Method0v)();
-
-    // A callback instance to invoke method 'm' of object 'o' 
-    fgMethodCallback( T* o, Method0v m )
-       : fgCallback(0),
-         object(o),
-         method0v(m),
-         doPtr(&fgMethodCallback<T>::call0v) {}
-
-    // Create a clone on the heap.
-    fgCallback* clone() const;
-
-private:
-    //
-    void* call( void** in );
-
-    //
-    void* call0v( void** );
-
-private:
-    // Not defined.
-    fgMethodCallback();
-
-private:
-    T* object;
-    Method0v method0v;
-
-    // typedef void * (fgMethodCallback::*DoPtr)( void ** );
-    typedef void * (fgMethodCallback<T>::*DoPtr)( void ** );
-    DoPtr doPtr;
-};
-
-template< class T > inline fgCallback*
-fgMethodCallback<T>::clone() const
-{
-    return new fgMethodCallback( *this );
-}
-
-template< class T > inline void*
-fgMethodCallback<T>::call( void** in )
-{
-    return (this->*doPtr)( in );
-}
-
-
-template< class T > inline void*
-fgMethodCallback<T>::call0v( void** )
-{
-    (object->*method0v)();
-    return (void*) NULL;
-}
-
-#endif // _FG_CALLBACK_HXX
-
-
diff --git a/src/Include/fg_callback.hxx b/src/Include/fg_callback.hxx
new file mode 100644 (file)
index 0000000..5b0f112
--- /dev/null
@@ -0,0 +1,178 @@
+/**************************************************************************
+ * fg_callback.hxx -- Wrapper classes to treat function and method pointers
+ * as objects.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * $Id$
+ **************************************************************************/
+
+#ifndef _FG_CALLBACK_HXX
+#define _FG_CALLBACK_HXX
+
+// -dw- need size_t for params() function
+#ifdef __MWERKS__
+typedef unsigned long  size_t;
+#endif
+
+
+//-----------------------------------------------------------------------------
+//
+// Abstract base class for all FlightGear callbacks.
+//
+class fgCallback
+{
+public:
+    virtual ~fgCallback() {}
+
+    virtual fgCallback* clone() const = 0;
+    virtual void* call( void** ) = 0;
+
+    size_t params() const { return n_params; }
+
+protected:
+    fgCallback( size_t params )
+       : n_params(params) {}
+
+protected:
+    // The number of parameters to pass to the callback routine.
+    size_t n_params;
+
+private:
+};
+
+//-----------------------------------------------------------------------------
+//
+// Callback for invoking a file scope function.
+//
+class fgFunctionCallback : public fgCallback
+{
+public:
+    // Pointer to function taking no arguments and returning void.
+    typedef void (*Proc0v)();
+
+    // A callback instance to invoke the function 'p'
+    fgFunctionCallback( Proc0v p );
+
+    // Create a clone on the heap.
+    virtual fgCallback* clone() const;
+
+private:
+    void* call( void** in );
+    inline void* call0v( void** );
+
+private:
+    // Not defined.
+    fgFunctionCallback();
+
+private:
+
+    typedef void* (fgFunctionCallback::*DoPtr)( void** );
+    DoPtr doPtr;
+    Proc0v proc0v;
+};
+
+inline
+fgFunctionCallback::fgFunctionCallback( Proc0v p )
+    : fgCallback(0),
+      doPtr(&fgFunctionCallback::call0v),
+      proc0v(p)
+{
+    // empty
+}
+
+inline fgCallback*
+fgFunctionCallback::clone() const
+{
+    return new fgFunctionCallback( *this );
+}
+
+inline void*
+fgFunctionCallback::call( void** in )
+{
+    return (this->*doPtr)( in );
+}
+
+inline void*
+fgFunctionCallback::call0v( void** )
+{
+    (*proc0v)();
+    return (void*) NULL;
+}
+
+//-----------------------------------------------------------------------------
+//
+// Callback for invoking an object method.
+//
+template< class T >
+class fgMethodCallback : public fgCallback
+{
+public:
+    // Pointer to method taking no arguments and returning void.
+    typedef void (T::*Method0v)();
+
+    // A callback instance to invoke method 'm' of object 'o' 
+    fgMethodCallback( T* o, Method0v m )
+       : fgCallback(0),
+         object(o),
+         method0v(m),
+         doPtr(&fgMethodCallback<T>::call0v) {}
+
+    // Create a clone on the heap.
+    fgCallback* clone() const;
+
+private:
+    //
+    void* call( void** in );
+
+    //
+    void* call0v( void** );
+
+private:
+    // Not defined.
+    fgMethodCallback();
+
+private:
+    T* object;
+    Method0v method0v;
+
+    // typedef void * (fgMethodCallback::*DoPtr)( void ** );
+    typedef void * (fgMethodCallback<T>::*DoPtr)( void ** );
+    DoPtr doPtr;
+};
+
+template< class T > inline fgCallback*
+fgMethodCallback<T>::clone() const
+{
+    return new fgMethodCallback( *this );
+}
+
+template< class T > inline void*
+fgMethodCallback<T>::call( void** in )
+{
+    return (this->*doPtr)( in );
+}
+
+
+template< class T > inline void*
+fgMethodCallback<T>::call0v( void** )
+{
+    (object->*method0v)();
+    return (void*) NULL;
+}
+
+#endif // _FG_CALLBACK_HXX
+
+