12d3a163433c435ff053402ae8965f8602c7ac6daErik Kline/* 22d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * Copyright (C) 2016 The Android Open Source Project 32d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * 42d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * Licensed under the Apache License, Version 2.0 (the "License"); 52d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * you may not use this file except in compliance with the License. 62d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * You may obtain a copy of the License at 72d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * 82d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * http://www.apache.org/licenses/LICENSE-2.0 92d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * 102d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * Unless required by applicable law or agreed to in writing, software 112d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * distributed under the License is distributed on an "AS IS" BASIS, 122d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * See the License for the specific language governing permissions and 142d3a163433c435ff053402ae8965f8602c7ac6daErik Kline * limitations under the License. 152d3a163433c435ff053402ae8965f8602c7ac6daErik Kline */ 162d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 172d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#ifndef NETD_SERVER_DUMPWRITER_H_ 182d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#define NETD_SERVER_DUMPWRITER_H_ 192d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 202d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#include <string> 212d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#include <utils/String16.h> 222d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#include <utils/Vector.h> 232d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 247035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colittinamespace android { 257035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colittinamespace net { 262d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 272d3a163433c435ff053402ae8965f8602c7ac6daErik Klineclass DumpWriter { 282d3a163433c435ff053402ae8965f8602c7ac6daErik Klinepublic: 292d3a163433c435ff053402ae8965f8602c7ac6daErik Kline DumpWriter(int fd); 302d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 312d3a163433c435ff053402ae8965f8602c7ac6daErik Kline void incIndent(); 322d3a163433c435ff053402ae8965f8602c7ac6daErik Kline void decIndent(); 332d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 342d3a163433c435ff053402ae8965f8602c7ac6daErik Kline void println(const std::string& line); 352d3a163433c435ff053402ae8965f8602c7ac6daErik Kline void println(const char* fmt, ...); 362d3a163433c435ff053402ae8965f8602c7ac6daErik Kline void blankline() { println(""); } 372d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 382d3a163433c435ff053402ae8965f8602c7ac6daErik Klineprivate: 392d3a163433c435ff053402ae8965f8602c7ac6daErik Kline uint8_t mIndentLevel; 402d3a163433c435ff053402ae8965f8602c7ac6daErik Kline int mFd; 412d3a163433c435ff053402ae8965f8602c7ac6daErik Kline}; 422d3a163433c435ff053402ae8965f8602c7ac6daErik Kline 437035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti} // namespace net 447035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti} // namespace android 457035f228d17e925116b1b64a7c917b3196ab8818Lorenzo Colitti 462d3a163433c435ff053402ae8965f8602c7ac6daErik Kline#endif // NETD_SERVER_DUMPWRITER_H_ 47