Difference between revisions of "Documentation/DevGuide/WritingUNO/Using UNOIDL to Specify New Components"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Initial author Sun Microsystems, Inc.)
 
(7 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
|NextPage=Documentation/DevGuide/WritingUNO/Writing the Specification
 
|NextPage=Documentation/DevGuide/WritingUNO/Writing the Specification
 
}}
 
}}
 +
{{Documentation/DevGuideLanguages|Documentation/DevGuide/WritingUNO/{{SUBPAGENAME}}}}
 
{{DISPLAYTITLE:Using UNOIDL to Specify New Components}}
 
{{DISPLAYTITLE:Using UNOIDL to Specify New Components}}
 
Component development does not necessarily start with the declaration of new interfaces or new types. Try to use the interfaces and types already defined in the {{PRODUCTNAME}} API. If existing interfaces cover your requirements and you need to know how to implement them in your own component, go to section [[Documentation/DevGuide/WritingUNO/Component Architecture|Component Architecture]]. The following describes how to declare your own interfaces and other types you might need.
 
Component development does not necessarily start with the declaration of new interfaces or new types. Try to use the interfaces and types already defined in the {{PRODUCTNAME}} API. If existing interfaces cover your requirements and you need to know how to implement them in your own component, go to section [[Documentation/DevGuide/WritingUNO/Component Architecture|Component Architecture]]. The following describes how to declare your own interfaces and other types you might need.
Line 12: Line 13:
 
To define a new interface, service or other entity, write its specification in UNOIDL, then compile it with the UNOIDL compiler idlc. After compilation, merge the resulting binary type description into a type library that is used during the make process to create necessary language dependent type representations, such as header or Java class files. The chapter [[Documentation/DevGuide/ProUNO/Professional UNO|Professional UNO]] provides the various type mappings used by <code>cppumaker</code> and <code>javamaker</code> in the language binding sections. Refer to the section [[Documentation/DevGuide/WritingUNO/Deployment Options for Components#UNO Type Library|UNO Type Library]] for details about type information in the registry-based type library.
 
To define a new interface, service or other entity, write its specification in UNOIDL, then compile it with the UNOIDL compiler idlc. After compilation, merge the resulting binary type description into a type library that is used during the make process to create necessary language dependent type representations, such as header or Java class files. The chapter [[Documentation/DevGuide/ProUNO/Professional UNO|Professional UNO]] provides the various type mappings used by <code>cppumaker</code> and <code>javamaker</code> in the language binding sections. Refer to the section [[Documentation/DevGuide/WritingUNO/Deployment Options for Components#UNO Type Library|UNO Type Library]] for details about type information in the registry-based type library.
  
{{Documentation/Note|When writing your own specifications, please consult the chapter [[Documentation/DevGuide/AppendixA/OpenOffice.org API-Design-Guidelines|OpenOffice.org API-Design-Guidelines]] which treats design principles and conventions used in API specifications. Follow the rules for universality, orthogonality, inheritance and uniformity of the API as described in the Design Guide.}}
+
{{Note|When writing your own specifications, please consult the chapter [[Documentation/DevGuide/AppendixA/OpenOffice.org API-Design-Guidelines|OpenOffice.org API-Design-Guidelines]] which treats design principles and conventions used in API specifications. Follow the rules for universality, orthogonality, inheritance and uniformity of the API as described in the Design Guide.}}
  
 
{{PDL1}}
 
{{PDL1}}
[[Category: Writing UNO Components]]
+
 
 +
[[Category:Documentation/Developer's Guide/Writing UNO Components]]

Revision as of 14:52, 4 July 2018



Component development does not necessarily start with the declaration of new interfaces or new types. Try to use the interfaces and types already defined in the OpenOffice.org API. If existing interfaces cover your requirements and you need to know how to implement them in your own component, go to section Component Architecture. The following describes how to declare your own interfaces and other types you might need.

UNO uses its own meta language UNOIDL (UNO Interface Definition Language) to specify types. Using a meta language for this purpose enables you to generate language specific code, such as header files and class definitions, to implement objects in any target language supported by UNO. UNOIDL keeps the foundations of UNO language independent and takes the burden of mechanic language adaptation from the developer's shoulders when implementing UNO objects.

To define a new interface, service or other entity, write its specification in UNOIDL, then compile it with the UNOIDL compiler idlc. After compilation, merge the resulting binary type description into a type library that is used during the make process to create necessary language dependent type representations, such as header or Java class files. The chapter Professional UNO provides the various type mappings used by cppumaker and javamaker in the language binding sections. Refer to the section UNO Type Library for details about type information in the registry-based type library.

Documentation note.png When writing your own specifications, please consult the chapter OpenOffice.org API-Design-Guidelines which treats design principles and conventions used in API specifications. Follow the rules for universality, orthogonality, inheritance and uniformity of the API as described in the Design Guide.
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages