Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
IWriteContainer.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <IWriteContainer.idl>
3 // -----------------------------------------------------------------------
4 // Copyright (c) 2012 Bosch Rexroth. All rights reserved.
5 // Redistribution and use in source and binary forms of this MLPI software
6 // (SW) provided to you, with or without modification, are permitted
7 // without prior approval provided that the following conditions are met:
8 //
9 // 1. Redistributions of source code of SW must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 //
12 // 2. Redistributions in binary form of SW must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in the
14 // documentation and/or other materials provided with the distribution.
15 //
16 // 3. User recognizes and acknowledges that it acquires no right,
17 // title or interest in or to any of the names or trademarks used in
18 // connection with the SW ("names") by virtue of this License and waives
19 // any right to or interest in the names. User recognizes and acknowledges
20 // that names of companies or names or products of companies displayed
21 // in the documentation of SW to indicate the interoperability of products
22 // with the SW are the names of their respective owners. The use of such
23 // names in the documentation of SW does not imply any sponsorship,
24 // approval, or endorsement by such companies of this product.
25 //
26 // 4. Modified code versions, i.e. any addition to or deletion from
27 // the substance or structure of the original code of the SW running
28 // the MLPI must be plainly marked as such and must not be misrepresented
29 // as being original SW.
30 //
31 // 5. The SW may only be used in connection with a Bosch Rexroth product.
32 //
33 // THIS INFORMATION IS PROVIDED BY BOSCH REXROTH CORPORATION "AS IS"
34 // AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING
35 // (BUT NOTLIMITED TO) ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
36 // FITNESS FOR ANY PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WHILE THE
37 // INFORMATION PROVIDED IS BELIEVED TO BE ACCURATE, IT MAY INCLUDE
38 // ERRORS OR INACCURACIES.
39 // SUBJECT TO COMPULSORY STATUTORY PROVISIONS OF THE GERMAN LAW AS
40 // THE APPLICABLE LAW FOR THIS LICENSE BOSCH REXROTH CORPORATION WILL
41 // NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM THE USE OF
42 // THE SOFTWARE DISTRIBUTED HEREUNDER, INCLUDING BUT NOT LIMITED TO
43 // DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, AND CONSEQUENTIAL DAMAGES.
44 // -----------------------------------------------------------------------
45 //
55 //
56 // -----------------------------------------------------------------------
57 
58 
63 [
64  object,
65  uuid(DDD6919C-EB62-46d3-B87A-DD6514CFBCC8),
66  dual,
67  nonextensible,
68  helpstring("IWriteContainer Interface"),
69  pointer_default(unique)
70 ]
71 interface IWriteContainer : IDispatch{
72 
97  [id(1), helpstring("Method GetName")] HRESULT GetName([out, retval] BSTR* name);
98 
128  [id(2), helpstring("Method Update")] HRESULT Update(void);
129 
154  [id(3), helpstring("Method Destroy")] HRESULT Destroy(void);
155 
179  [id(4), helpstring("Method Create")] HRESULT Create(void);
180 
181 #if defined(WIN32) || defined(WIN64)
182 
212  [id(5), helpstring("Method GetInformation")] HRESULT GetInformation([out, retval] struct ContainerInformation *containerInformation);
213 
245  [id(6), helpstring("Method GetItemInformation")] HRESULT GetItemInformation([out, retval] SAFEARRAY (struct ContainerItemInformation) *containerInfo);
246 #endif
247 
281  [id(7), helpstring("Method GetTagList")] HRESULT GetTagList([out, retval] SAFEARRAY(BSTR) *tagList);
282 
313  [id(10), helpstring("Method GetDataByTag")] HRESULT GetDataByTag([in] BSTR tag, [out, retval] VARIANT *data);
314 
345  [id(11), helpstring("Method SetDataByTag")] HRESULT SetDataByTag([in] BSTR tag, [in] VARIANT data);
346 
376  [id(12), helpstring("Method GetDataAsByteArray")] HRESULT GetDataAsByteArray([out, retval] SAFEARRAY(BYTE) *data);
377 
412  [id(13), helpstring("Method SetDataAsByteArray")] HRESULT SetDataAsByteArray([in] SAFEARRAY(BYTE) data);
413 
462  [id(20), helpstring("Method Add")] HRESULT Add([in] BSTR tag);
463 
490  [id(21), helpstring("Method Remove")] HRESULT Remove([in] BSTR tag);
491 
515  [id(22), helpstring("Method Clear")] HRESULT Clear();
516 
517  //[id(3), helpstring("Method Update")] HRESULT Add([in] BSTR sequence);
518  //[id(3), helpstring("Method Update")] HRESULT AddSymbol([in] BSTR symbol);
519  //[id(3), helpstring("Method Update")] HRESULT AddSymbols([in] BSTR symbol);
520  //[id(3), helpstring("Method Update")] HRESULT AddMemoryArea([in] , int byteLength, );
521  //[id(3), helpstring("Method Update")] HRESULT AddFieldbusIo([in] BSTR sequence);
522  //[id(3), helpstring("Method Update")] HRESULT AddDummy([in] int byteLength);
523 
524 };
525 
526 
527 
528 // -----------------------------------------------------------------------
529 // HISTORY
530 // -----------------------------------------------------------------------
531 // 01-Jan-2012
532 // - first release
533 //
534 
535 
536 
537 
538 
539 
540 
541 
542 
HRESULT GetInformation([out, retval] struct ContainerInformation *containerInformation)
This function reads information about the container using struct IContainer::ContainerInformation.
HRESULT Remove([in] BSTR tag)
This function removes a tag from the container. Convention for the tags is the same as for the Add me...
HRESULT Update(void)
This function updates the container by writing the data elements from the internal data collection to...
HRESULT Create(void)
This function creates the container. It will automatically be called within the Update function if th...
HRESULT GetDataByTag([in] BSTR tag, [out, retval] VARIANT *data)
This function reads data for a specified tag from the containers internal data collection. This data will possibly differ from the data on the control because a write container will never read data from the control.
HRESULT SetDataAsByteArray([in] SAFEARRAY(BYTE) data)
This function writes all data as byte array to the container. To update the data on the control you n...
HRESULT Add([in] BSTR tag)
This function adds a tag to the container. Each &#39;tag&#39; identifies a data element which can be written...
HRESULT GetItemInformation([out, retval] SAFEARRAY(struct ContainerItemInformation)*containerInfo)
This function reads information about the container items using struct IContainer::ContainerItemInfor...
Definition of the IWriteContainer interface which can be used to establish a fast data exchange of gr...
HRESULT GetDataAsByteArray([out, retval] SAFEARRAY(BYTE)*data)
This function reads all data as byte array from the container. This data will possibly differ from th...
HRESULT SetDataByTag([in] BSTR tag, [in] VARIANT data)
This function writes data for a specified tag to the container. To update the data on the control you...
HRESULT Clear()
This function removes all tags of the container.
HRESULT GetName([out, retval] BSTR *name)
This function returns the identifier for this container.
HRESULT GetTagList([out, retval] SAFEARRAY(BSTR)*tagList)
This function reads the tag list of the container.
HRESULT Destroy(void)
This function destroys the container if it is not longer used.