HaikuDepot: notify work status from main window
[haiku.git] / src / kits / support / Architecture.cpp
blob93afc168ad3820fa78849c586d2b41ab84f2c473
1 /*
2 * Copyright 2013, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
7 #include <Architecture.h>
9 #include <algorithm>
11 #include <StringList.h>
14 static const size_t kMaxArchitectureCount = 16;
17 static status_t
18 string_array_to_string_list(const char* const* architectures, size_t count,
19 BStringList& _architectures)
21 _architectures.MakeEmpty();
23 for (size_t i = 0; i < count; i++) {
24 BString architecture(architectures[i]);
25 if (architecture.IsEmpty() || !_architectures.Add(architecture)) {
26 _architectures.MakeEmpty();
27 return B_NO_MEMORY;
31 return B_OK;
35 status_t
36 get_secondary_architectures(BStringList& _architectures)
38 const char* architectures[kMaxArchitectureCount];
39 size_t count = get_secondary_architectures(architectures,
40 kMaxArchitectureCount);
41 return string_array_to_string_list(architectures,
42 std::min(count, kMaxArchitectureCount), _architectures);
46 status_t
47 get_architectures(BStringList& _architectures)
49 const char* architectures[kMaxArchitectureCount];
50 size_t count = get_architectures(architectures, kMaxArchitectureCount);
51 return string_array_to_string_list(architectures,
52 std::min(count, kMaxArchitectureCount), _architectures);