diff options
Diffstat (limited to 'files/ko/creating_xpcom_components/index.html')
-rw-r--r-- | files/ko/creating_xpcom_components/index.html | 355 |
1 files changed, 355 insertions, 0 deletions
diff --git a/files/ko/creating_xpcom_components/index.html b/files/ko/creating_xpcom_components/index.html new file mode 100644 index 0000000000..3af1db1e92 --- /dev/null +++ b/files/ko/creating_xpcom_components/index.html @@ -0,0 +1,355 @@ +--- +title: Creating XPCOM Components +slug: Creating_XPCOM_Components +translation_of: Mozilla/Tech/XPCOM/Guide/Creating_components +--- +<h3 id="Preface" name="Preface"><a href="ko/Creating_XPCOM_Components/Preface">Preface</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Preface#Who_Should_Read_This_Book">Who Should Read This Book</a> 이 문서가 필요한 사람</dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Preface#Organization_of_the_Tutorial">Organization of the Tutorial</a> 튜토리얼 구조</dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Preface#Following_Along_with_the_Examples">Following Along with the Examples</a> 예제 따라하기</dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Preface#Conventions">Conventions</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Preface#Acknowledgements">Acknowledgements</a></dd> +</dl> +<h3 id="An_Overview_of_XPCOM" name="An_Overview_of_XPCOM"><a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM">An Overview of XPCOM</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#The_XPCOM_Solution">The XPCOM Solution</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Gecko">Gecko</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Components">Components</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces">Interfaces</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces_and_Encapsulation">Interfaces and Encapsulation</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#The_nsISupports_Base_Interface">The <code>nsISupports</code> Base Interface</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Identifiers">XPCOM Identifiers</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#CID">CID</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Contract_ID">Contract ID</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Factories">Factories</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPIDL_and_Type_Libraries">XPIDL and Type Libraries</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Services">XPCOM Services</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Types">XPCOM Types</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Method_Types">Method Types</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Reference_Counting">Reference Counting</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Status_Codes">Status Codes</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Variable_Mappings">Variable Mappings</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Common_XPCOM_Error_Codes">Common XPCOM Error Codes</a></dd> + </dl> + </dd> +</dl> +<h3 id="Using_XPCOM_Components" name="Using_XPCOM_Components"><a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components">Using XPCOM Components</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Component_Examples">Component Examples</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Cookie_Manager">Cookie Manager</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#The_WebBrowserFind_Component">The <b>WebBrowserFind</b> Component</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#The_WebLock_Component">The <b>WebLock</b> Component</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Component_Use_in_Mozilla">Component Use in Mozilla</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Finding_Mozilla_Components">Finding Mozilla Components</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Using_XPCOM_Components_in_Your_Cpp">Using XPCOM Components in Your Cpp</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#XPConnect:_Using_XPCOM_Components_From_Script">XPConnect: Using XPCOM Components From Script</a></dd> + </dl> + </dd> +</dl> +<h3 id="Component_Internals" name="Component_Internals"><a href="ko/Creating_XPCOM_Components/Component_Internals">Component Internals</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#Creating_Components_in_Cpp">Creating Components in Cpp</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Initialization">XPCOM Initialization</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Registry_Manifests">XPCOM Registry Manifests</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#Registration_Methods_in_XPCOM">Registration Methods in XPCOM</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#Autoregistration">Autoregistration</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#The_Shutdown_Process">The Shutdown Process</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#Three_Parts_of_a_XPCOM_Component_Library">Three Parts of a XPCOM Component Library</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Glue">XPCOM Glue</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#The_Glue_Library">The Glue Library</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_String_Classes">XPCOM String Classes</a></dd> + </dl> + </dd> +</dl> +<h3 id="Creating_the_Component_Code" name="Creating_the_Component_Code"><a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code">Creating the Component Code</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#What_We.27ll_Be_Working_On">What We'll Be Working On</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Component_Registration">Component Registration</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#The_regxpcom_Program">The <code>regxpcom</code> Program</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Registration_Alternatives">Registration Alternatives</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Overview_of_the_WebLock_Module_Source">Overview of the <b>WebLock</b> Module Source</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Digging_In:_Required_Includes_and_Constants">Digging In: Required Includes and Constants</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Identifiers_in_XPCOM">Identifiers in XPCOM</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Coding_for_the_Registration_Process">Coding for the Registration Process</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#The_Registration_Methods">The Registration Methods</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Creating_an_Instance_of_Your_Component">Creating an Instance of Your Component</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#webLock1.cpp"><code>webLock1.cpp</code></a></dd> +</dl> +<h3 id="Using_XPCOM_Utilities_to_Make_Things_Easier" name="Using_XPCOM_Utilities_to_Make_Things_Easier"><a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier">Using XPCOM Utilities to Make Things Easier</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#XPCOM_Macros">XPCOM Macros</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Generic_XPCOM_Module_Macros">Generic XPCOM Module Macros</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Common_Implementation_Macros">Common Implementation Macros</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Declaration_Macros">Declaration Macros</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#webLock2.cpp"><code>webLock2.cpp</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#String_Classes_in_XPCOM">String Classes in XPCOM</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Using_Strings">Using Strings</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#nsEmbedString_and_nsEmbedCString"><code>nsEmbedString</code> and <code>nsEmbedCString</code></a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Smart_Pointers">Smart Pointers</a></dd> +</dl> +<h3 id="Starting_WebLock" name="Starting_WebLock"><a href="ko/Creating_XPCOM_Components/Starting_WebLock">Starting <b>WebLock</b></a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_Called_at_Startup">Getting Called at Startup</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Registering_for_Notifications">Registering for Notifications</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_Access_to_the_Category_Manager">Getting Access to the Category Manager</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Providing_Access_to_WebLock">Providing Access to <b>WebLock</b></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Creating_the_WebLock_Programming_Interface">Creating the <b>WebLock</b> Programming Interface</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Defining_the_WebLock_Interface_in_XPIDL">Defining the <b>WebLock</b> Interface in XPIDL</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_XPIDL_Syntax">The XPIDL Syntax</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Scriptable_Interfaces">Scriptable Interfaces</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Subclassing_nsISupports">Subclassing <code>nsISupports</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_Web_Locking_Interface">The Web Locking Interface</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Implementing_WebLock">Implementing <b>WebLock</b></a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Declaration_Macros">Declaration Macros</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Representing_Return_Values_in_XPCOM">Representing Return Values in XPCOM</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#XPIDL_Code_Generation">XPIDL Code Generation</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_the_WebLock_Service_from_a_Client">Getting the <b>WebLock</b> Service from a Client</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Implementing_the_iWebLock_Interface">Implementing the <code>iWebLock</code> Interface</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_Directory_Service">The Directory Service</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Modifying_Paths_with_nsIFile">Modifying Paths with <code>nsIFile</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Manipulating_Files_with_nsIFile">Manipulating Files with <code>nsIFile</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Using_nsILocalFile_for_Reading_Data">Using <code>nsILocalFile</code> for Reading Data</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Processing_the_White_List_Data">Processing the White List Data</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#iWebLock_Method_By_Method"><code>iWebLock</code> Method By Method</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Lock_and_Unlock"><code>Lock</code> and <code>Unlock</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#AddSite"><code>AddSite</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#RemoveSite"><code>RemoveSite</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#SetSites"><code>SetSites</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#GetNext"><code>GetNext</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#GetSites"><code>GetSites</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Starting_WebLock#HasMoreElements"><code>HasMoreElements</code></a></dd> + </dl> + </dd> +</dl> +<h3 id="Finishing_the_Component" name="Finishing_the_Component"><a href="ko/Creating_XPCOM_Components/Finishing_the_Component">Finishing the Component</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Using_Frozen_Interfaces">Using Frozen Interfaces</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Copying_Interfaces_Into_Your_Build_Environment">Copying Interfaces Into Your Build Environment</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy_Interface">Implementing the <code>nsIContentPolicy</code> Interface</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Receiving_Notifications">Receiving Notifications</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy">Implementing the <code>nsIContentPolicy</code></a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Uniform_Resource_Locators">Uniform Resource Locators</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Checking_the_White_List">Checking the White List</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Creating_nsIURI_Objects">Creating <code>nsIURI</code> Objects</a></dd> + </dl> + </dd> +</dl> +<h3 id="Building_the_WebLock_UI" name="Building_the_WebLock_UI"><a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI">Building the <b>WebLock</b> UI</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#User_Interface_Package_List">User Interface Package List</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Client_Code_Overview">Client Code Overview</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#XUL">XUL</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#The_XUL_Document">The XUL Document</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#The_Locking_UI">The Locking UI</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Site_Adding_UI">Site Adding UI</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.xul"><code>weblock.xul</code></a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Overlaying_New_User_Interface_Into_Mozilla">Overlaying New User Interface Into Mozilla</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#webLockOverlay.xul"><code>webLockOverlay.xul</code></a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Other_Resources">Other Resources</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.css"><code>weblock.css</code></a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Image_Resources">Image Resources</a></dd> + </dl> + </dd> +</dl> +<h3 id="Packaging_WebLock" name="Packaging_WebLock"><a href="ko/Creating_XPCOM_Components/Packaging_WebLock">Packaging WebLock</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Component_Installation_Overview">Component Installation Overview</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Archiving_Resources">Archiving Resources</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Installation_Script">The <b>WebLock</b> Installation Script</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Trigger_Script">The <b>WebLock</b> Trigger Script</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Distributing_Your_Component">Distributing Your Component</a></dd> +</dl> +<h3 id="Appendix_A_-_Setting_up_the_Gecko_SDK" name="Appendix_A_-_Setting_up_the_Gecko_SDK"><a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK">Appendix A - Setting up the Gecko SDK</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Downloading_and_Setting_the_SDK">Downloading and Setting the SDK</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Building_a_Microsoft_Visual_Cpp_Project">Building a Microsoft Visual Cpp Project</a> + <dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Creating_a_New_Project">Creating a New Project</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Adding_the_Gecko_SDK_to_the_Project_Settings">Adding the Gecko SDK to the Project Settings</a></dd> + </dl> + </dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#A_Makefile_for_Unix">A Makefile for Unix</a></dd> +</dl> +<h3 id="Appendix_B_-_Resources" name="Appendix_B_-_Resources"><a href="ko/Creating_XPCOM_Components/Resources">Appendix B - Resources</a></h3> +<dl> + <dd> + <a href="ko/Creating_XPCOM_Components/Resources#WebLock_Resources">WebLock Resources</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Resources#Gecko_Resources">Gecko Resources</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Resources#XPCOM_Resources">XPCOM Resources</a></dd> + <dd> + <a href="ko/Creating_XPCOM_Components/Resources#General_Development_Resources">General Development Resources</a></dd> +</dl> |