/usr/include/falcon/cacheobject.h is in falconpl-dev 0.9.6.9-git20120606-2.1+b1.
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /*
FALCON - The Falcon Programming Language.
FILE: cacheobject.h
Falcon Object - Standard instance of classes in script
-------------------------------------------------------------------
Author: Giancarlo Niccolai
Begin: Sat, 24 Jan 2009 13:48:11 +0100
-------------------------------------------------------------------
(C) Copyright 2009: the FALCON developers (see list in AUTHORS file)
See LICENSE file for licensing details.
*/
/** \file
Falcon Object - Standard instance of classes in script
*/
#ifndef FLC_CACHE_OBJECT_H
#define FLC_CACHE_OBJECT_H
#include <falcon/setup.h>
#include <falcon/coreobject.h>
#include <falcon/cclass.h>
namespace Falcon
{
class VMachine;
class FALCON_DYN_CLASS CacheObject: public CoreObject
{
protected:
mutable Item *m_cache;
CacheObject( const CoreClass* generator, bool bSeralizing = false );
CacheObject( const CacheObject &other );
public:
virtual ~CacheObject();
virtual bool serialize( Stream *stream, bool bLive ) const;
virtual bool deserialize( Stream *stream, bool bLive );
virtual bool setProperty( const String &prop, const Item &value );
virtual bool getProperty( const String &key, Item &ret ) const;
/** Mark the items in the cache and the inner data, if it's garbageable.
If this object contains an external FalconData instance, it gets marked;
anyhow, this function marks the cache items.
*/
virtual void gcMark( uint32 mark );
Item *cachedProperty( const String &name ) const
{
register uint32 pos;
if ( ! m_generatedBy->properties().findKey( name, pos ) )
return 0;
return m_cache + pos;
}
Item *cachedPropertyAt( uint32 pos ) const {
if ( pos > m_generatedBy->properties().added() )
return 0;
return m_cache + pos;
}
/** Reflect an external data into this object.
This method uses the reflection informations in the generator class property table
to load the data stored in the user_data parameter into the local item vector cache.
As this is an optional operation, the base class implementation does nothing.
*/
virtual void reflectFrom( void *user_data );
/** Reflect this object into external data.
This method uses the reflection informations in the generator class property table
to store a C/C++ copy of the data stored in the local cache of this object into
an external data.
As this is an optional operation, the base class implementation does nothing.
*/
virtual void reflectTo( void *user_data ) const;
};
}
#endif
/* end of cacheobject.h */
|