blob: 8750bf6b54d15a07798cb9c3248921ada46d5611 [file] [log] [blame]
commit-bot@chromium.orgbe19b9e2013-06-14 17:26:54 +00001/*
2 * Copyright 2013 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef skpdiff_util_DEFINED
9#define skpdiff_util_DEFINED
10
commit-bot@chromium.orgbe19b9e2013-06-14 17:26:54 +000011#include "SkString.h"
12#include "SkTArray.h"
13
zachr@google.comd6585682013-07-17 19:29:19 +000014#if SK_SUPPORT_OPENCL
zachr@google.com35f02fb2013-07-22 17:05:24 +000015#if SK_BUILD_FOR_MAC
16# include <OpenCL/cl.h>
17#else
18# include <CL/cl.h>
19#endif
20
commit-bot@chromium.orgbe19b9e2013-06-14 17:26:54 +000021/**
22 * Converts an OpenCL error number into the string of its enumeration name.
23 * @param err The OpenCL error number
24 * @return The string of the name of the error; "UNKOWN" if the error number is invalid
25 */
26const char* cl_error_to_string(cl_int err);
zachr@google.comd6585682013-07-17 19:29:19 +000027#endif
commit-bot@chromium.orgbe19b9e2013-06-14 17:26:54 +000028
29/**
30 * Get a positive monotonic real-time measure of the amount of seconds since some undefined epoch.
31 * Maximum precision is the goal of this routine.
32 * @return Amount of time in seconds since some epoch
33 */
34double get_seconds();
35
36/**
37 * Get file entries of the given directory.
38 * @param path A path to a directory to enumerate
39 * @param entries A vector to return the results into
40 * @return True on success, false otherwise
41 */
42bool get_directory(const char path[], SkTArray<SkString>* entries);
43
zachr@google.com18bbba92013-06-26 18:55:36 +000044/**
45 * Gets the files that match the specified pattern in sorted order.
46 * @param globPattern The pattern to use. Patterns must be valid paths, optionally with wildcards (*)
47 * @param entries An array to return the results into
48 * @return True on success, false otherwise
49 */
50bool glob_files(const char globPattern[], SkTArray<SkString>* entries);
51
zachr@google.coma479aa12013-08-02 15:54:30 +000052/**
53 * Gets the absolute version of the given path.
54 * @param path The absolute or relative path to expand
55 * @return The absolute path of the given path on success, or an empty string on failure.
56 */
57SkString get_absolute_path(const SkString& path);
58
commit-bot@chromium.orgbe19b9e2013-06-14 17:26:54 +000059
60#endif