Skip to content

Commit 95feac0

Browse files
author
César Román
authored
feat(ia): implement ignition.common.BrowseElement (#70)
1 parent 14b439e commit 95feac0

File tree

1 file changed

+134
-2
lines changed
  • src/com/inductiveautomation/ignition/common/opc

1 file changed

+134
-2
lines changed

src/com/inductiveautomation/ignition/common/opc/__init__.py

Lines changed: 134 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
__all__ = [
22
"BasicOPCBrowseElement",
33
"BasicServerNodeId",
4+
"BrowseElement",
45
"BrowseElementType",
56
"OPCBrowseElement",
67
"ServerBrowseElement",
78
"ServerNodeId",
89
]
910

10-
from typing import Any, List
11+
from typing import Any, Dict, List, Optional
1112

12-
from java.lang import Class, Enum, Object, String
13+
from java.lang import Class, Enum, Object, String, StringBuilder
1314

1415

1516
class OPCBrowseElement(object):
@@ -96,6 +97,137 @@ def getServerName(self):
9697
return self.serverName
9798

9899

100+
class BrowseElement(Object):
101+
PROP_PROVIDER = 500 # type: int
102+
PROP_DRIVER = 501 # type: int
103+
_server = None # type: String
104+
_browsePath = None # type: String
105+
_itemName = None # type: String
106+
_itemId = None # type: String
107+
_itemType = None # type: Optional[int]
108+
_properties = None # type: Dict[int, BrowseElement.PropertyElement]
109+
_complete = False # type: bool
110+
111+
def __init__(self, itemType=None):
112+
# type: (Optional[int]) -> None
113+
self._itemType = itemType
114+
self._properties = {0: BrowseElement.PropertyElement(0, "", "")}
115+
116+
def addProperty(self, id_, name, value):
117+
# type: (int, String, String) -> None
118+
pass
119+
120+
def asServerNodeId(self):
121+
# type: () -> ServerNodeId
122+
pass
123+
124+
def createRequestElement(self, type_):
125+
# type: (int) -> BrowseElement
126+
pass
127+
128+
def fillInDetails(self, elm):
129+
# type: (BrowseElement) -> None
130+
pass
131+
132+
def getBrowsePath(self):
133+
# type: () -> String
134+
return self._browsePath
135+
136+
def getItemId(self):
137+
# type: () -> String
138+
return self._itemId
139+
140+
def getItemName(self):
141+
# type: () -> String
142+
return self._itemName
143+
144+
def getItemType(self):
145+
# type: () -> Optional[int]
146+
return self._itemType
147+
148+
def getProperties(self):
149+
# type: () -> List[BrowseElement.PropertyElement]
150+
return self._properties.values()
151+
152+
def getProperty(self, id_):
153+
# type: (int) -> BrowseElement.PropertyElement
154+
return self._properties[id_]
155+
156+
def getServer(self):
157+
# type: () -> String
158+
return self._server
159+
160+
def isComplete(self):
161+
# type: () -> bool
162+
return self._complete
163+
164+
def setBrowsePath(self, browsePath):
165+
# type: (String) -> None
166+
self._browsePath = browsePath
167+
168+
def setComplete(self, value):
169+
# type: (bool) -> None
170+
self._complete = value
171+
172+
def setItemId(self, itemId):
173+
# type: (String) -> None
174+
self._itemId = itemId
175+
176+
def setItemName(self, itemName):
177+
# type: (String) -> None
178+
self._itemName = itemName
179+
180+
def setItemType(self, itemType):
181+
# type: (int) -> None
182+
self._itemType = itemType
183+
184+
def setServer(self, server):
185+
# type: (String) -> None
186+
self._server = server
187+
188+
@staticmethod
189+
def toBrowseElement(opcElem):
190+
# type: (OPCBrowseElement) -> BrowseElement
191+
pass
192+
193+
@staticmethod
194+
def toBrowseElements(opcElements):
195+
# type: (List[OPCBrowseElement]) -> List[BrowseElement]
196+
pass
197+
198+
@staticmethod
199+
def toServerNodeId(elem):
200+
# type: (BrowseElement) -> ServerNodeId
201+
pass
202+
203+
def toXML(self, out, type_=None, includeProperties=None):
204+
# type: (StringBuilder, Optional[int], Optional[bool]) -> None
205+
pass
206+
207+
class PropertyElement(Object):
208+
id = None # type: int
209+
name = None # type: String
210+
value = None # type: String
211+
212+
def __init__(self, id_, name, value):
213+
# type: (int, String, String) -> None
214+
self.id = id_
215+
self.name = name
216+
self.value = value
217+
218+
def getId(self):
219+
# type: () -> int
220+
return self.id
221+
222+
def getName(self):
223+
# type: () -> String
224+
return self.name
225+
226+
def getValue(self):
227+
# type: () -> String
228+
return self.value
229+
230+
99231
class BrowseElementType(Enum):
100232
DATAVARIABLE = None # type: BrowseElementType
101233
DEVICE = None # type: BrowseElementType

0 commit comments

Comments
 (0)