/usr/include/qtruby/marshall.h is in libqtruby4shared-dev 4:4.14.3-1+b3.
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 | /***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 2 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
#ifndef MARSHALL_H
#define MARSHALL_H
#include <smoke.h>
#include <ruby.h>
class SmokeType;
class Marshall {
public:
/**
* FromVALUE is used for virtual function return values and regular
* method arguments.
*
* ToVALUE is used for method return-values and virtual function
* arguments.
*/
typedef void (*HandlerFn)(Marshall *);
enum Action { FromVALUE, ToVALUE };
virtual SmokeType type() = 0;
virtual Action action() = 0;
virtual Smoke::StackItem &item() = 0;
virtual VALUE * var() = 0;
virtual void unsupported() = 0;
virtual Smoke *smoke() = 0;
/**
* For return-values, next() does nothing.
* For FromRV, next() calls the method and returns.
* For ToRV, next() calls the virtual function and returns.
*
* Required to reset Marshall object to the state it was
* before being called when it returns.
*/
virtual void next() = 0;
/**
* For FromSV, cleanup() returns false when the handler should free
* any allocated memory after next().
*
* For ToSV, cleanup() returns true when the handler should delete
* the pointer passed to it.
*/
virtual bool cleanup() = 0;
virtual ~Marshall() {}
};
class SmokeEnumWrapper {
public:
Marshall *m;
};
class SmokeClassWrapper {
public:
Marshall *m;
};
#endif
|