RegisterOwner

 (Available in 00 TS Tools(Base) - TS_Tools_Root2)

Purpose

CALLBACK: Called when a owner registers itself

Arguments

oOwner
OBJECT

Description

Can be overridden to detect when a owner object is registerd

Important! This is a event send by the library. Normally, it should not be called in/by your application code.

Returns

Return = TRUE if succeeded

Source

METHOD RegisterOwner( oOwner AS OBJECT ) AS LOGIC PASCAL CLASS TS_Root2
LOCAL lRetVal AS LOGIC
   TSTrace Enter
   IF _AND( SELF:_ObjectStat2, TS_OBJSTAT2_TEST_REGISTEROWNER  ; ...
  ... )==TS_OBJSTAT2_CAN_REGISTEROWNER
      SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
     ... , TS_OBJSTAT2_REGISTER_DISABLED )
      IF SELF:_Owner==NULL_OBJECT
         IF oOwner==NULL_OBJECT
            TSTrace Warning "oOwner==NULL_OBJECT"
            lRetVal:=FALSE
         ELSE
            SELF:_Owner:=oOwner
            IF IsMethod( SELF:_Owner, #RegisterOwned )
               IF Send( SELF:_Owner, #RegisterOwned, SELF )
                  IF SELF:_Owner<>NULL_OBJECT
                     SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
                    ... , TS_OBJSTAT2_REGISTERED )
                     IF SELF:SelfDestructOnUnRegisterOwner
                        SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
                       ... , TS_OBJSTAT2_SELFDESTRUCT_ENABLED1 )
                     END
                     lRetVal:=TRUE
                  ELSE
                     TSTrace Warning "SELF:_Owner==NULL_OBJECT"
                     SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
                    ... , TS_OBJSTAT2_NOTREGISTERED )
                     lRetVal:=FALSE
                  END
               ELSE
                  TSTrace Warning "!Send(SELF:_Owner,#RegisterOwned,SELF)"
                  SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
                 ... , TS_OBJSTAT2_NOTREGISTERED )
                  SELF:_Owner:=NULL_OBJECT
                  lRetVal:=FALSE
               END
            ELSE
               SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
              ... , TS_OBJSTAT2_NOTREGISTERED )
               lRetVal:=TRUE
            END
         END
      ELSE
         TSTrace Warning "SELF:_Owner<>NULL_OBJECT"
         lRetVal:=FALSE
      END
   ELSE
      TSTrace Warning "!(_And(SELF:_ObjectStat2,_Or(TS_OBJSTAT2_REGISTER_ENABLED," ; ...
     ... +"TS_OBJSTAT2_REGISTER_DISABLED))==TS_OBJSTAT2_REGISTER_ENABLED)"
      SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
     ... , TS_OBJSTAT2_REGISTER_DISABLED )
      lRetVal:=FALSE
   END
   TSTrace Leave
RETURN lRetVal