|
|
Line 1: |
Line 1: |
| <div id="onbbulte" style="overflow:auto;height:1px;">[http://crea.html.it/websites/niplfb/prev.htm american flash native tattoo
] [http://crea.html.it/websites/vrgly/prev.htm art flash tattoo work
] [http://crea.html.it/websites/odldfavp/prev.htm angel flash tattoo wing
] [http://crea.html.it/websites/goepbp/prev.htm flash flower lotus tattoo
] [http://crea.html.it/websites/agsbqjnc/prev.htm art flash japanese tattoo
] [http://crea.html.it/websites/rlytabi/prev.htm aztec calendar flash tattoo
] [http://crea.html.it/websites/ypyfyu/prev.htm tattoo shop in florida
] [http://crea.html.it/websites/xuwjeq/prev.htm ink miami shop tattoo
] [http://crea.html.it/websites/oirhrvi/prev.htm las vegas tattoo shop
] [http://crea.html.it/websites/snllprs/prev.htm piercing and tattoo shop
] [http://crea.html.it/websites/jxplcl/prev.htm san diego tattoo shop
] [http://crea.html.it/websites/odwlhtq/prev.htm big daddy tattoo shop
] [http://crea.html.it/websites/todbklnn/prev.htm tattoo shop in chicago
] [http://crea.html.it/websites/gpfced/prev.htm tattoo shop in houston
] [http://crea.html.it/websites/atqbbox/prev.htm tattoo shop in miami
] [http://crea.html.it/websites/yjnmo/prev.htm san francisco tattoo shop
] [http://crea.html.it/websites/xkyhtjds/prev.htm tattoo shop in california
] [http://crea.html.it/websites/qxzye/prev.htm los angeles tattoo shop
] [http://crea.html.it/websites/trxevxi/prev.htm san antonio tattoo shop
] [http://crea.html.it/websites/mscldbx/prev.htm low rider tattoo shop
] [http://crea.html.it/websites/irmoanqy/prev.htm tattoo shop new york
] [http://crea.html.it/websites/adteqp/prev.htm tattoo shop in toronto
] [http://crea.html.it/websites/orfajti/prev.htm tattoo shop in michigan
] [http://crea.html.it/websites/asdlkoz/prev.htm tattoo shop in maryland
] [http://crea.html.it/websites/lhsoz/prev.htm tattoo shop orange county
] [http://crea.html.it/websites/sjmwj/prev.htm tattoo shop in dallas
] [http://crea.html.it/websites/jlbpogs/prev.htm tattoo shop t shirt
] [http://crea.html.it/websites/jisauzsbx/prev.htm tattoo shop in hawaii
] [http://crea.html.it/websites/wsybtd/prev.htm tattoo shop new jersey
] [http://crea.html.it/websites/byxszh/prev.htm outer limit tattoo shop
] [http://crea.html.it/websites/xnnesqal/prev.htm bay area tattoo shop
] [http://crea.html.it/websites/nokzuz/prev.htm tattoo shop in minnesota
] [http://crea.html.it/websites/nkswfc/prev.htm tattoo shop in texas
] [http://crea.html.it/websites/cusmikoma/prev.htm tattoo shop in atlanta
] [http://crea.html.it/websites/uwrnp/prev.htm tattoo shop in ohio
] [http://crea.html.it/websites/jiuti/prev.htm long island tattoo shop
] [http://crea.html.it/websites/vvibshyy/prev.htm tattoo shop for sale
] [http://crea.html.it/websites/mnkbabxxz/prev.htm tattoo shop in georgia
] [http://crea.html.it/websites/yfyufiab/prev.htm tattoo shop in illinois
] [http://crea.html.it/websites/iruxzqfbo/prev.htm tattoo shop in sacramento
] [http://crea.html.it/websites/addmsiqxh/prev.htm tattoo shop in pa
] [http://crea.html.it/websites/vvxtqodeu/prev.htm san jose tattoo shop
] [http://crea.html.it/websites/ewfhctzr/prev.htm tattoo shop web site
] [http://crea.html.it/websites/piddecv/prev.htm tattoo shop in vegas
] [http://crea.html.it/websites/aslkry/prev.htm enchanted dragon tattoo shop
] [http://crea.html.it/websites/qfvjpn/prev.htm tattoo shop in winnipeg
] [http://crea.html.it/websites/zmwhlsi/prev.htm cross infinity picture tattoo
] [http://crea.html.it/websites/usocyr/prev.htm cross design tattoo tribal
] [http://crea.html.it/websites/cqlywlvh/prev.htm cross greek orthodox tattoo
] [http://crea.html.it/websites/kjkdm/prev.htm cross pic tattoo tribal
] [http://crea.html.it/websites/vtztmckx/prev.htm cross hands praying tattoo
] [http://crea.html.it/websites/yrekzcbtl/prev.htm angel cross tattoo wings
] [http://crea.html.it/websites/wralhl/prev.htm back cross lower tattoo
] [http://crea.html.it/websites/vxrpn/prev.htm christian cross design tattoo
] [http://crea.html.it/websites/spbscf/prev.htm cross greek letter tattoo
] [http://crea.html.it/websites/qykdb/prev.htm cross side stomach tattoo
] [http://crea.html.it/websites/chwahax/prev.htm cross in memory tattoo
] [http://crea.html.it/websites/ebxeif/prev.htm bones cross skull tattoo
] [http://crea.html.it/websites/oqdahoqa/prev.htm cross eva longoria tattoo
] [http://crea.html.it/websites/eskusmtdi/prev.htm cross justin tattoo timberlake
] [http://crea.html.it/websites/ilrnoclg/prev.htm bone cross skull tattoo
] [http://crea.html.it/websites/falxn/prev.htm back butterfly lower tattoo
] [http://crea.html.it/websites/kjkneao/prev.htm butterfly flower picture tattoo
] [http://crea.html.it/websites/kbamprmo/prev.htm butterfly by harley tattoo
] [http://crea.html.it/websites/bbzfim/prev.htm butterfly design tattoo tribal
] [http://crea.html.it/websites/kttwhlcb/prev.htm butterfly design fairy tattoo
] [http://crea.html.it/websites/ibhpelktc/prev.htm butterfly fairy flower tattoo
] [http://crea.html.it/websites/qxutkba/prev.htm butterfly design flower tattoo
] [http://crea.html.it/websites/eottoie/prev.htm butterfly fairy picture tattoo
] [http://crea.html.it/websites/uetqxhapj/prev.htm butterfly gallery picture tattoo
] [http://crea.html.it/websites/cyshqp/prev.htm butterfly design online tattoo
] [http://crea.html.it/websites/kokhg/prev.htm black butterfly design tattoo
] [http://crea.html.it/websites/ychtbe/prev.htm black butterfly tattoo white
] [http://crea.html.it/websites/fangirxoi/prev.htm butterfly picture tattoo unique
] [http://crea.html.it/websites/qreawpuya/prev.htm butterfly free gallery tattoo
] [http://crea.html.it/websites/cqdnlogad/prev.htm butterfly ink iron tattoo
] [http://crea.html.it/websites/nlrfdsor/prev.htm butterfly ink miami tattoo
] [http://crea.html.it/websites/doewns/prev.htm butterfly design flash tattoo
] [http://crea.html.it/websites/aylbpj/prev.htm butterfly fairy tattoo tribal
] [http://crea.html.it/websites/pbuqdae/prev.htm butterfly design picture tattoo
] [http://crea.html.it/websites/ucmlwa/prev.htm butterfly picture small tattoo
] [http://crea.html.it/websites/hqscoxo/prev.htm butterfly design floral tattoo
] [http://crea.html.it/websites/osemscbl/prev.htm picture of tribal tattoo
] [http://crea.html.it/websites/pfwgx/prev.htm tribal art tattoo picture
] [http://crea.html.it/websites/ymwsqp/prev.htm tribal sun tattoo picture
] [http://crea.html.it/websites/llslfhcn/prev.htm upper back tribal tattoo
] [http://crea.html.it/websites/wkxdbpyou/prev.htm behind neck tattoo tribal
] [http://crea.html.it/websites/ajmreiv/prev.htm tribal armband tattoo picture
] [http://crea.html.it/websites/nvjzqars/prev.htm free tribal tattoo flash
] [http://crea.html.it/websites/ralsd/prev.htm tribal dragon picture tattoo
] [http://crea.html.it/websites/igxeiof/prev.htm half sleeve tribal tattoo
] [http://crea.html.it/websites/rsewfufg/prev.htm sea turtle tribal tattoo
] [http://crea.html.it/websites/pyshxd/prev.htm american native tribal tattoo
] [http://crea.html.it/websites/zcqljofi/prev.htm tribal body art tattoo
] [http://crea.html.it/websites/afutfwhsw/prev.htm free tribal cross tattoo
] [http://crea.html.it/websites/dganvd/prev.htm free tribal tattoo art
] [http://crea.html.it/websites/iqpioqvgq/prev.htm tribal sun tattoo pic
] [http://crea.html.it/websites/jftajmbx/prev.htm tribal arm tattoo picture
] [http://crea.html.it/websites/iynzp/prev.htm tribal cross tattoo pic
] [http://crea.html.it/websites/fuvyj/prev.htm band pacific tattoo tribal
] [http://crea.html.it/websites/ryukqx/prev.htm heart tribal tattoo picture] </div>This page has the technical details on the [[ScriptableObject|nsIScriptableObject]] interface.= Differences to IDispatch =We will *not* implement a number of "Visual Basic-isms" in IDispatch - specifically:* no distinction between a "property put by value" and "property put by reference" (ie, VBs "let" vs "set"), and combining "property get" and "method call" in the flags will be illegal (ie, VB allows you to omit the parens when calling subroutines, making such calls indistinguishable from a property reference)* names will all be case-sensitive.= Identifier mapping =Like MSCOM, integer IDs are used to identify attributes on an object. Functions are provided to convert from names to IDs, or from IDs to names.The rules for IDs are:* Once an ID has been assigned to a name, that ID must constant for that name for the life of the object.* An ID can not be reused unless an attribute of the same name is recreated (ie, if an item is deleted from an object, the ID can not be reused for a different name)MSCOM uses DISPIDs to refer to named params. The sementics for DISPIDs for names that appear only as params is unclear (the relevant MS docs need to be found)= nsIScriptableObject interface =Using XPCOM vocabulary (attribute for property, e.g.), the interface should look something like this (recall that xpidl capitalizes names for C++): typedef PRUint32 nsDISPID; [scriptable, uuid(...)] interface nsIScriptableObject : nsISupports { // Maps a single member name to its corresponding DISPID, which can then // be used on subsequent calls to invoke() nsDISPID getDispID(in AString aName); // Deletes a member by DISPID. void deleteMemberByDispID(in nsDISPID aDispID); // Adds a member and returns the dispid for the new item. nsDISPID addMemberByName(in AString aName); // Deletes a member by name. void deleteMemberByName(in AString aName); // Retrieves the name of a member. AString getMemberName(in nsDISPID aDispID); // Retrieves a member's properties. PRUint32 getMemberFlags(in nsDISPID aDispID); // Flags describing members. const PRUint32 MEMBER_METHOD = 1; // member is a method const PRUint32 MEMBER_CONSTRUCTOR = 2; // member is a constructor const PRUint32 MEMBER_ATTRIBUTE = 4; // member is an attribute const PRUint32 MEMBER_READONLY = 8; // member is readonly // Retrieves the interface for the scope parent of an object. nsIScriptableObject getParentObject(); // Enumerates the members of the object. nsDISPID getNextDispID(in PRUint32 aFlags, in nsDISPID aDispID); // Invoke a method or access an attribute exposed by an IScriptable. // XXX - semantics of DISPID and params is not clear. // presumably all possible param names must also provide // a dispid when asked. // MSCOM EXCEPTINFO param not used - existing // nsIExceptionService semantics should be used instead. nsIVariant invoke(in nsDISPID aDispID, in PRUint32 aInvokeHow, [array, size_is(aNumArgs)] in nsIVariant aArgs, in PRUint32 aNumArgs, [array, size_is(aNumNamedArgs)] in nsDISPID aNamedArgs, in PRUint32 aNumNamedArgs); // Values for the aInvokeHow argument to invoke. const PRUint32 INVOKE_CALL = 0; // invoke as a method const PRUint32 INVOKE_CONSTRUCT = 1; // invoke as a constructor const PRUint32 INVOKE_GETATTR = 2; // get an attribute value const PRUint32 INVOKE_SETATTR = 3; // set an attribute value // Predefined nsDISPID values /* DISPID reserved for the "value" property (ie, the 'default' value )*/ const PRUint32 DISPID_VALUE = 0; /* DISPID reserved for the standard "NewEnum" method */ const PRUint32 DISPID_NEWENUM = -4; const PRUint32 DISPID_CONSTRUCTOR = -6; };=
| | This page has the technical details on the [[ScriptableObject|nsIScriptableObject]] interface. |
| | |
| | = Differences to IDispatch = |
| | |
| | We will *not* implement a number of "Visual Basic-isms" in IDispatch - specifically: |
| | |
| | * no distinction between a "property put by value" and "property put by reference" (ie, VBs "let" vs "set"), and combining "property get" and "method call" in the flags will be illegal (ie, VB allows you to omit the parens when calling subroutines, making such calls indistinguishable from a property reference) |
| | |
| | * names will all be case-sensitive. |
| | |
| | = Identifier mapping = |
| | |
| | Like MSCOM, integer IDs are used to identify attributes on an object. Functions are provided to convert from names to IDs, or from IDs to names. |
| | |
| | The rules for IDs are: |
| | * Once an ID has been assigned to a name, that ID must constant for that name for the life of the object. |
| | * An ID can not be reused unless an attribute of the same name is recreated (ie, if an item is deleted from an object, the ID can not be reused for a different name) |
| | |
| | MSCOM uses DISPIDs to refer to named params. The sementics for DISPIDs for names that appear only as params is unclear (the relevant MS docs need to be found) |
| | |
| | = nsIScriptableObject interface = |
| | |
| | Using XPCOM vocabulary (attribute for property, e.g.), the interface should look something like this (recall that xpidl capitalizes names for C++): |
| | |
| | typedef PRUint32 nsDISPID; |
| | |
| | [scriptable, uuid(...)] |
| | interface nsIScriptableObject : nsISupports |
| | { |
| | // Maps a single member name to its corresponding DISPID, which can then |
| | // be used on subsequent calls to invoke() |
| | nsDISPID getDispID(in AString aName); |
| | |
| | // Deletes a member by DISPID. |
| | void deleteMemberByDispID(in nsDISPID aDispID); |
| | |
| | // Adds a member and returns the dispid for the new item. |
| | nsDISPID addMemberByName(in AString aName); |
| | |
| | // Deletes a member by name. |
| | void deleteMemberByName(in AString aName); |
| | |
| | // Retrieves the name of a member. |
| | AString getMemberName(in nsDISPID aDispID); |
| | |
| | // Retrieves a member's properties. |
| | PRUint32 getMemberFlags(in nsDISPID aDispID); |
| | |
| | // Flags describing members. |
| | const PRUint32 MEMBER_METHOD = 1; // member is a method |
| | const PRUint32 MEMBER_CONSTRUCTOR = 2; // member is a constructor |
| | const PRUint32 MEMBER_ATTRIBUTE = 4; // member is an attribute |
| | const PRUint32 MEMBER_READONLY = 8; // member is readonly |
| | |
| | // Retrieves the interface for the scope parent of an object. |
| | nsIScriptableObject getParentObject(); |
| | |
| | // Enumerates the members of the object. |
| | nsDISPID getNextDispID(in PRUint32 aFlags, in nsDISPID aDispID); |
| | |
| | // Invoke a method or access an attribute exposed by an IScriptable. |
| | |
| | // XXX - semantics of DISPID and params is not clear. |
| | // presumably all possible param names must also provide |
| | // a dispid when asked. |
| | |
| | // MSCOM EXCEPTINFO param not used - existing |
| | // nsIExceptionService semantics should be used instead. |
| | |
| | nsIVariant invoke(in nsDISPID aDispID, |
| | in PRUint32 aInvokeHow, |
| | [array, size_is(aNumArgs)] in nsIVariant aArgs, |
| | in PRUint32 aNumArgs, |
| | [array, size_is(aNumNamedArgs)] in nsDISPID aNamedArgs, |
| | in PRUint32 aNumNamedArgs); |
| | |
| | // Values for the aInvokeHow argument to invoke. |
| | const PRUint32 INVOKE_CALL = 0; // invoke as a method |
| | const PRUint32 INVOKE_CONSTRUCT = 1; // invoke as a constructor |
| | const PRUint32 INVOKE_GETATTR = 2; // get an attribute value |
| | const PRUint32 INVOKE_SETATTR = 3; // set an attribute value |
| | |
| | // Predefined nsDISPID values |
| | /* DISPID reserved for the "value" property (ie, the 'default' value )*/ |
| | const PRUint32 DISPID_VALUE = 0; |
| | /* DISPID reserved for the standard "NewEnum" method */ |
| | const PRUint32 DISPID_NEWENUM = -4; |
| | |
| | const PRUint32 DISPID_CONSTRUCTOR = -6; |
| | }; |