1// 2// Copyright (c) ZeroC, Inc. All rights reserved. 3// 4 5declare module "ice" 6{ 7 namespace Ice 8 { 9 /** 10 * The base class for instances of Slice classes. 11 */ 12 class Value 13 { 14 /** 15 * The Ice run time invokes this method prior to marshaling an object's data members. This allows a subclass 16 * to override this method in order to validate its data members. 17 */ 18 ice_preMarshal():void; 19 20 /** 21 * The Ice run time invokes this method vafter unmarshaling an object's data members. This allows a 22 * subclass to override this method in order to perform additional initialization. 23 */ 24 ice_postUnmarshal():void; 25 26 /** 27 * Obtains the Slice type ID of the most-derived class supported by this object. 28 * @return The type ID. 29 */ 30 ice_id():string; 31 32 /** 33 * Obtains the Slice type ID of this type. 34 * @return The return value is always "::Ice::Object". 35 */ 36 static ice_staticId():string; 37 38 /** 39 * Obtains the sliced data associated with this instance. 40 * @return The sliced data if the value has a preserved-slice base class and has been sliced during 41 * unmarshaling of the value, nil otherwise. 42 */ 43 ice_getSlicedData():SlicedData; 44 } 45 46 class InterfaceByValue extends Value 47 { 48 constructor(id:string); 49 } 50 } 51} 52