1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3
* ***** BEGIN LICENSE BLOCK *****
4
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
6
* The contents of this file are subject to the Mozilla Public License Version
7
* 1.1 (the "License"); you may not use this file except in compliance with
8
* the License. You may obtain a copy of the License at
9
* http://www.mozilla.org/MPL/
11
* Software distributed under the License is distributed on an "AS IS" basis,
12
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13
* for the specific language governing rights and limitations under the
16
* The Original Code is Mozilla Communicator client code, released
19
* The Initial Developer of the Original Code is
20
* Netscape Communications Corporation.
21
* Portions created by the Initial Developer are Copyright (C) 1998
22
* the Initial Developer. All Rights Reserved.
25
* John Bandhauer <jband@netscape.com>
27
* Alternatively, the contents of this file may be used under the terms of
28
* either of the GNU General Public License Version 2 or later (the "GPL"),
29
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
30
* in which case the provisions of the GPL or the LGPL are applicable instead
31
* of those above. If you wish to allow use of your version of this file only
32
* under the terms of either the GPL or the LGPL, and not to allow others to
33
* use your version of this file under the terms of the MPL, indicate your
34
* decision by deleting the provisions above and replace them with the notice
35
* and other provisions required by the GPL or the LGPL. If you do not delete
36
* the provisions above, a recipient may use your version of this file under
37
* the terms of any one of the MPL, the GPL or the LGPL.
39
* ***** END LICENSE BLOCK ***** */
42
* Test the 'out' keyword.
45
#include "nsISupports.idl"
47
[scriptable, uuid(4105ae88-5599-11d3-82ef-0060b0eb596f)]
48
interface nsIXPCTestOut : nsISupports {
49
void GetLong( out long l);
50
void SetLong( in long l );
52
void GetShort( out short s );
53
void SetShort( in short s );
55
void SetChar( in char c );
56
void GetChar( out char c);
58
void GetBoolean( out boolean b );
59
void SetBoolean( in boolean b );
61
void GetOctet( out octet o );
62
void SetOctet( in octet o );
64
void GetLongLong( out long long ll );
65
void SetLongLong( in long long ll );
67
void GetUnsignedShort( out unsigned short us );
68
void SetUnsignedShort( in unsigned short us );
70
void GetUnsignedLong( out unsigned long ul );
71
void SetUnsignedLong( in unsigned long ul );
73
void GetFloat( out float f );
74
void SetFloat( in float f );
76
void GetDouble( out double d );
77
void SetDouble( in double d );
79
void GetWchar( out wchar wc );
80
void SetWchar ( in wchar wc );
82
//void GetString( out wstring ws );
83
//void SetString( in wstring ws );
85
void GetPRBool( out PRBool b );
86
void SetPRBool (in PRBool b );
88
void GetPRInt32( out PRInt32 l );
89
void SetPRInt32( in PRInt32 l );
91
void GetPRInt16( out PRInt16 l );
92
void SetPRInt16( in PRInt16 l );
94
void GetPRInt64( out PRInt64 i );
95
void SetPRInt64( in PRInt64 i );
97
void GetPRUint8 ( out PRUint8 i );
98
void SetPRUint8( in PRUint8 i );
100
void GetPRUint16( out PRUint16 i );
101
void SetPRUint16( in PRUint16 i );
103
void GetPRUint32( out PRUint32 i );
104
void SetPRUint32( in PRUint32 i );
106
void GetPRUint64( out PRUint64 i );
107
void SetPRUint64( in PRUint64 i );
109
// native types must be marked noscript or they break the idl
112
// [noscript] void GetVoidStar( out voidStar vs );
113
//[noscript] void SetVoidStar( in voidStar vs );
115
//[noscript] void GetCharStar( out charStar cs );
116
//[noscript] void SetCharStar( in charStar cs );
118
// [noscript] void GetVoidRef( out voidRef vf );
119
// [noscript] void SetVoidRef( in voidRef vf );
121
// [noscript] void GetNsIDRef( out nsIDRef r );
122
// [noscript] void SetNsIDRef( in nsIDRef r );
124
// [noscript] void GetNsCIDRef( out nsCIDRef r );
125
// [noscript] void SetNsCIDRef( in nsCIDRef r );
127
[noscript] void GetNsIDPtr( out nsIDPtr p );
128
[noscript] void SetNsIDPtr( in nsIDPtr p );
130
[noscript] void GetNsIIDPtr( out nsIIDPtr p );
131
[noscript] void SetNsIIDPtr( in nsIIDPtr p );
133
[noscript] void GetNsCIDPtr( out nsCIDPtr p );
134
[noscript] void SetNsCIDPtr( in nsCIDPtr p );
136
[noscript] void GetNsQIResult( out nsQIResult r );
137
[noscript] void SetNsQIResult( in nsQIResult r );