Veda/PackObjectReference.h File Reference


Detailed Description

This file applies the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 , read file COPYING.

Author:
victorien ferry & www.m4nkind.com

Definition in file PackObjectReference.h.

#include "PackULong.h"
#include "PackString.h"
#include "BaseObject.h"

Go to the source code of this file.

Classes

class  PackObjectReference
 Base type managing a serializable reference to another object in the same context. a BaseObject can use a PackObjectReference as a member, and when registering it, you specify a pointable base class. Then the PackObjectReference will be able to point any object in the context that match this pointable class, or its inherited classes.
You get the pointer with GetObjectPointer(). Getting NULL is valid, and simply means that nothing is pointed. You change the pointer with SetObjectPointer(), and you should check its enum_SetReferenceResult errorcode.
Please, don't stock a pointer from GetObjectPointer() elsewhere between two functions, because PackObjectReference are dynamic pointers, that can change or become NULL during edition. Registering a PackObjectReference member in a BaseObject constructor can look like this:. More...

Defines

#define REGISTER_MEMBER_REFERENCE(_object, _MemberName, _classDescriptor)
 This macro is used to register a serializable PackObjectReference member and specify the base class a reference can ask. It must be used in BaseObject's constructor, never elsewhere. It does compile less things in non-editable mode.


Define Documentation

#define REGISTER_MEMBER_REFERENCE _object,
_MemberName,
_classDescriptor   ) 
 

Value:

REGISTER_MEMBER(_object,_MemberName);\
_object.SetReferableBaseClass(_classDescriptor);
This macro is used to register a serializable PackObjectReference member and specify the base class a reference can ask. It must be used in BaseObject's constructor, never elsewhere. It does compile less things in non-editable mode.

Definition at line 225 of file PackObjectReference.h.

Referenced by InterfacePrefObject::Edited::Edited(), MediaTimePattern::PartToPlay::PartToPlay(), and InterfacePrefObject::PreviewEdited::PreviewEdited().


      /\/\        4         N         k         !         N         D
                      _______  _ __ ___  _____            ___ _ _  ____
     ___________  __//___   /________  |/    / ___________\_______/    \
    /   _   _   \/   _     /    _   /      _/_/____/    _       __     /
   /    /   /       /     /    /    \      \/     /    /    \   \     /
  \\___/___/___/    ¯    _____/_____/       ______\___/_____/\________\\
               \________/_ ___ __ l____\      /elD!  
                 http://www.m4nkind.com \____/