1/*
2 * Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7#ifndef NATIVE_CLIENT_TESTS_MANIFEST_FILE_STRING_BUFFER_H_
8#define NATIVE_CLIENT_TESTS_MANIFEST_FILE_STRING_BUFFER_H_
9
10#include <string>
11
12#include <stdio.h>
13#include <stdlib.h>
14#include <inttypes.h>
15
16namespace nacl {
17
18class StringBuffer {
19 public:
20  StringBuffer();
21  ~StringBuffer();
22  void DiscardOutput();
23  void Printf(char const *fmt, ...) __attribute__((format(printf, 2, 3)));
24  std::string ToString() {
25    return std::string(buffer_, insert_);
26  }
27
28 private:
29  size_t  nbytes_;
30  size_t  insert_;
31  char    *buffer_;
32};
33
34}  // namespace nacl
35
36#endif
37