MCPcopy Create free account
hub / github.com/MaaXYZ/MaaFramework / StringListBuffer

Class StringListBuffer

source/binding/Python/maa/buffer.py:118–245  ·  view source on GitHub ↗

字符串列表缓冲区 / String list buffer 用于在 Python 和 C API 之间传递字符串列表数据。 Used to pass string list data between Python and C API.

Source from the content-addressed store, hash-verified

116
117
118class StringListBuffer:
119 """字符串列表缓冲区 / String list buffer
120
121 用于在 Python 和 C API 之间传递字符串列表数据。
122 Used to pass string list data between Python and C API.
123 """
124
125 _handle: MaaStringListBufferHandle
126 _own: bool
127
128 def __init__(self, handle: Optional[MaaStringListBufferHandle] = None):
129 self._set_api_properties()
130
131 if handle:
132 self._handle = handle
133 self._own = False
134 else:
135 self._handle = Library.framework().MaaStringListBufferCreate()
136 self._own = True
137
138 if not self._handle:
139 raise RuntimeError("Failed to create string list buffer.")
140
141 def __del__(self):
142 if self._handle and self._own:
143 Library.framework().MaaStringListBufferDestroy(self._handle)
144
145 def get(self) -> list[str]:
146 """获取字符串列表 / Get string list
147
148 Returns:
149 List[str]: 字符串列表 / String list
150 """
151 count = Library.framework().MaaStringListBufferSize(self._handle)
152 result: list[str] = []
153 for i in range(count):
154 buff = Library.framework().MaaStringListBufferAt(self._handle, i)
155 s = StringBuffer(buff).get()
156 result.append(s)
157 return result
158
159 def set(self, value: list[str]) -> bool:
160 """设置字符串列表 / Set string list
161
162 Args:
163 value: 字符串列表 / String list
164
165 Returns:
166 bool: 是否成功 / Whether successful
167 """
168 self.clear()
169 for s in value:
170 if not self.append(s):
171 return False
172 return True
173
174 def append(self, value: str) -> bool:
175 """追加字符串 / Append string

Callers 7

override_nextMethod · 0.85
override_nextMethod · 0.85
node_listMethod · 0.85
custom_action_listMethod · 0.85
custom_action_listMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected