Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
IReadContainer.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <IReadContainer.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 bemisrepresented
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 
59 
64 [
65  object,
66  uuid(E0C16659-D333-4a40-B794-56A06AA49E97),
67  dual,
68  nonextensible,
69  helpstring("IReadContainer Interface"),
70  pointer_default(unique)
71 ]
72 interface IReadContainer : IDispatch{
73 
98  [id(1), helpstring("Method GetName")] HRESULT GetName([out, retval] BSTR* name);
99 
126  [id(2), helpstring("Method Update")] HRESULT Update(void);
127 
152  [id(3), helpstring("Method Destroy")] HRESULT Destroy(void);
153 
177  [id(4), helpstring("Method Create")] HRESULT Create(void);
178 
179 #if defined(WIN32) || defined(WIN64)
180  [id(5), helpstring("Method GetInformation")] HRESULT GetInformation([out, retval] struct ContainerInformation *containerInformation);
213 
248  [id(6), helpstring("Method GetItemInformation")] HRESULT GetItemInformation([out, retval] SAFEARRAY (struct ContainerItemInformation) *containerInfo);
249 #endif
250 
287  [id(7), helpstring("Method GetTagList")] HRESULT GetTagList([out, retval] SAFEARRAY(BSTR) *tagList);
288 
319  [id(10), helpstring("Method GetDataByTag")] HRESULT GetDataByTag([in] BSTR tag, [out, retval] VARIANT *data);
320 
350  [id(12), helpstring("Method GetDataAsByteArray")] HRESULT GetDataAsByteArray([out, retval] SAFEARRAY(BYTE) *data);
351 
400  [id(20), helpstring("Method Add")] HRESULT Add([in] BSTR tag);
401 
428  [id(21), helpstring("Method Remove")] HRESULT Remove([in] BSTR tag);
429 
453  [id(22), helpstring("Method Clear")] HRESULT Clear();
454 };
455 
456 
457 
458 // -----------------------------------------------------------------------
459 // HISTORY
460 // -----------------------------------------------------------------------
461 // 01-Jan-2012
462 // - first release
463 //
464 
465 
466 
467 
468 
469 
470 
471 
HRESULT Clear()
This function removes all tags of the container.
HRESULT Update(void)
This function updates the container by reading the data elements from the control and storing it in a...
HRESULT GetInformation([out, retval] struct ContainerInformation *containerInformation)
This function reads information about the container using struct IContainer::ContainerInformation.
HRESULT GetItemInformation([out, retval] SAFEARRAY(struct ContainerItemInformation)*containerInfo)
This function reads information about the container items using struct IContainer::ContainerItemInfor...
Definition of the IReadContainer interface which can be used to establish a fast data exchange of gro...
HRESULT Create(void)
This function creates the container. It will automatically be called within the Update function if th...
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.
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 GetDataAsByteArray([out, retval] SAFEARRAY(BYTE)*data)
This function reads all data as byte array from the container. To get updated data, you need to call Update first.
HRESULT GetDataByTag([in] BSTR tag, [out, retval] VARIANT *data)
This function reads data for a specified tag from the container. To get updated data, you need to call Update first.
HRESULT Add([in] BSTR tag)
This function adds a tag to the container. Each &#39;tag&#39; identifies a data element which can be read...