131c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv/*
231c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * Copyright (C) 2016 The Android Open Source Project
331c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv *
431c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * Licensed under the Apache License, Version 2.0 (the "License");
531c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * you may not use this file except in compliance with the License.
631c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * You may obtain a copy of the License at
731c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv *
831c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv *      http://www.apache.org/licenses/LICENSE-2.0
931c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv *
1031c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * Unless required by applicable law or agreed to in writing, software
1131c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * distributed under the License is distributed on an "AS IS" BASIS,
1231c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1331c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * See the License for the specific language governing permissions and
1431c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv * limitations under the License.
1531c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv */
1631c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
1731c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv#ifndef BOOTIO_COLLECTOR_H_
1831c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv#define BOOTIO_COLLECTOR_H_
1931c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
2031c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv#include <string>
2131c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv#include <android-base/macros.h>
2231c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
2331c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkivclass BootioCollector {
2431c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkivpublic:
2531c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  BootioCollector(std::string path);
2631c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
2731c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  void StartDataCollection(int timeout, int samples);
2831c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
2931c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  void Print();
3031c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
3131c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkivprivate:
3231c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  std::string getStoragePath();
3331c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
3431c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  std::string path_;
3531c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
3631c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv  DISALLOW_COPY_AND_ASSIGN(BootioCollector);
3731c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv};
3831c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv
3931c2e747abd0ba26e1abacbdd56d9f222e7d9e30Vitalii Tomkiv#endif  // BOOTIO_COLLECTOR_H_
40