Difference between revisions of "Documentation/DevGuide/WritingUNO/XWeak"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (1 revision(s))
m
Line 8: Line 8:
 
<!--<idltopic>com.sun.star.uno.XWeak</idltopic>-->
 
<!--<idltopic>com.sun.star.uno.XWeak</idltopic>-->
 
A component supporting <code>XWeak</code> offers other objects to hold a reference on itself without preventing it from being destroyed when it is no longer needed. Thus, cyclic references can be avoided easily. The chapter [[Documentation/DevGuide/ProUNO/Lifetime of UNO objects|Lifetime of UNO Objects]] discusses this in detail. In Java, derive from the Java helper <code>class com.sun.star.lib.uno.helper.WeakBase</code> to support <code>XWeak</code>. If a C++ component is derived from one of the <code>::cppu::Weak...ImplHelperNN</code> template classes as proposed in the section [[Documentation/DevGuide/WritingUNO/C++/C++ Component|C++ Component]], a <code>XWeak</code> support is obtained, virtually for free. For the sake of completeness, this is the <code>XWeak</code> specification:
 
A component supporting <code>XWeak</code> offers other objects to hold a reference on itself without preventing it from being destroyed when it is no longer needed. Thus, cyclic references can be avoided easily. The chapter [[Documentation/DevGuide/ProUNO/Lifetime of UNO objects|Lifetime of UNO Objects]] discusses this in detail. In Java, derive from the Java helper <code>class com.sun.star.lib.uno.helper.WeakBase</code> to support <code>XWeak</code>. If a C++ component is derived from one of the <code>::cppu::Weak...ImplHelperNN</code> template classes as proposed in the section [[Documentation/DevGuide/WritingUNO/C++/C++ Component|C++ Component]], a <code>XWeak</code> support is obtained, virtually for free. For the sake of completeness, this is the <code>XWeak</code> specification:
 
+
<source lang="idl">
 
   // module com::sun::star::uno::XWeak
 
   // module com::sun::star::uno::XWeak
 
    
 
    
Line 15: Line 15:
 
       com::sun::star::uno::XAdapter queryAdapter();  
 
       com::sun::star::uno::XAdapter queryAdapter();  
 
   };
 
   };
 
+
</source>
 
{{PDL1}}
 
{{PDL1}}
 
[[Category: Writing UNO Components]]
 
[[Category: Writing UNO Components]]

Revision as of 20:10, 21 March 2008



A component supporting XWeak offers other objects to hold a reference on itself without preventing it from being destroyed when it is no longer needed. Thus, cyclic references can be avoided easily. The chapter Lifetime of UNO Objects discusses this in detail. In Java, derive from the Java helper class com.sun.star.lib.uno.helper.WeakBase to support XWeak. If a C++ component is derived from one of the ::cppu::Weak...ImplHelperNN template classes as proposed in the section C++ Component, a XWeak support is obtained, virtually for free. For the sake of completeness, this is the XWeak specification:

  // module com::sun::star::uno::XWeak
 
  interface XWeak: com::sun::star::uno::XInterface
  { 
      com::sun::star::uno::XAdapter queryAdapter(); 
  };
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools