mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
 | 
						|
// reserved. Use of this source code is governed by a BSD-style license that
 | 
						|
// can be found in the LICENSE file.
 | 
						|
 | 
						|
#include <vector>
 | 
						|
 | 
						|
#include "include/internal/cef_string_list.h"
 | 
						|
 | 
						|
#include "base/logging.h"
 | 
						|
 | 
						|
typedef std::vector<CefString> StringList;
 | 
						|
 | 
						|
CEF_EXPORT cef_string_list_t cef_string_list_alloc() {
 | 
						|
  return new StringList;
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT size_t cef_string_list_size(cef_string_list_t list) {
 | 
						|
  DCHECK(list);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  return impl->size();
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT int cef_string_list_value(cef_string_list_t list,
 | 
						|
                                     size_t index,
 | 
						|
                                     cef_string_t* value) {
 | 
						|
  DCHECK(list);
 | 
						|
  DCHECK(value);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  DCHECK_LT(index, impl->size());
 | 
						|
  if (index >= impl->size())
 | 
						|
    return false;
 | 
						|
  const CefString& str = (*impl)[index];
 | 
						|
  return cef_string_copy(str.c_str(), str.length(), value);
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT void cef_string_list_append(cef_string_list_t list,
 | 
						|
                                       const cef_string_t* value) {
 | 
						|
  DCHECK(list);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  impl->push_back(CefString(value));
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT void cef_string_list_clear(cef_string_list_t list) {
 | 
						|
  DCHECK(list);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  impl->clear();
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT void cef_string_list_free(cef_string_list_t list) {
 | 
						|
  DCHECK(list);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  delete impl;
 | 
						|
}
 | 
						|
 | 
						|
CEF_EXPORT cef_string_list_t cef_string_list_copy(cef_string_list_t list) {
 | 
						|
  DCHECK(list);
 | 
						|
  StringList* impl = reinterpret_cast<StringList*>(list);
 | 
						|
  return new StringList(*impl);
 | 
						|
}
 |