This template creates a basic XPCOM component, including a new interface, and an implementation of that interface. The new interface will have only one method, named |method|, which takes no parameters, and returns no result. When called, a message will be printed to STDOUT. This template creates the makefiles required to build your XPCOM component from within the mozilla source tree. Unix and Windows makefiles will be created, Mac will not. The template assumes you are going to generate the component in mozilla/extensions/. If you plan to place the application at another depth in the source tree you will need to adjust the depth_0_nix, depth_1_nix, depth_0_win, and depth_1_win variables. The minimal variables required are: component_name - The name of the component. By default, this will be used as the C++ class name of the implementation, though this can be changed by explicitly setting implementation_class_name in your template. component_name is also used as the name of the .cpp and .h files of your implementation, and the module and library names. implementation_guid - A guid to use as the class ID, without any surrounding curly braces, but with the intermediate dashes. Exaclty what you'd get from mozbot if you typed "/msg mozbot uuid" on irc.mozilla.org. ie. e0a9dd96-1dd1-11b2-8fc6-a8ccf526fe1c interface_name - The name of the interface, with appropriate capitalization. ie. myIMyInterface interface_guid - A guid to use as the interface ID, same format as the implementation_guid. See my/sample.xpcom-component.tpl for a demonstration of how to use this template.