Add methods to get property name and enumerate properties.

Also add method to remove property by handle.
This commit is contained in:
Peter Johnson
2016-08-26 08:19:28 -07:00
parent 0158fd35f0
commit 0fbb2e8a14
10 changed files with 118 additions and 30 deletions

View File

@@ -9,9 +9,20 @@
using namespace cs;
std::vector<VideoProperty> VideoSource::EnumerateProperties() const {
std::vector<VideoProperty> properties;
llvm::SmallVector<CS_Property, 32> handles;
CS_Status status = 0;
EnumerateSourceProperties(m_handle, handles, &status);
properties.reserve(handles.size());
for (int handle : handles)
properties.emplace_back(VideoProperty{handle});
return properties;
}
std::vector<VideoSource> VideoSource::EnumerateSources() {
std::vector<VideoSource> sources;
llvm::SmallVector<int, 16> handles;
llvm::SmallVector<CS_Source, 16> handles;
CS_Status status = 0;
::cs::EnumerateSources(handles, &status);
sources.reserve(handles.size());
@@ -22,7 +33,7 @@ std::vector<VideoSource> VideoSource::EnumerateSources() {
std::vector<VideoSink> VideoSink::EnumerateSinks() {
std::vector<VideoSink> sinks;
llvm::SmallVector<int, 16> handles;
llvm::SmallVector<CS_Sink, 16> handles;
CS_Status status = 0;
::cs::EnumerateSinks(handles, &status);
sinks.reserve(handles.size());