PriorityDumper.cpp revision 33fd3be6088bfacaf659108bad67d24103494aa1
133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair/* 233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Copyright (C) 2017 The Android Open Source Project 333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Licensed under the Apache License, Version 2.0 (the "License"); 533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * you may not use this file except in compliance with the License. 633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * You may obtain a copy of the License at 733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * http://www.apache.org/licenses/LICENSE-2.0 933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * 1033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * Unless required by applicable law or agreed to in writing, software 1133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * distributed under the License is distributed on an "AS IS" BASIS, 1233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * See the License for the specific language governing permissions and 1433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair * limitations under the License. 1533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair */ 1633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair#include "include/PriorityDumper.h" 1833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 1933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairnamespace android { 2033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairstatic void getStrippedArgs(Vector<String16>& dest, const Vector<String16>& source, 2233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair std::size_t numArgsToStrip) { 2333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair for (auto it = source.begin() + numArgsToStrip; it != source.end(); it++) { 2433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dest.add(*it); 2533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } 2633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 2733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair 2833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nairvoid priorityDump(PriorityDumper& dumper, int fd, const Vector<String16>& args) { 2933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair if (args.size() >= 2 && args[0] == PRIORITY_ARG) { 3033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair String16 priority = args[1]; 3133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair Vector<String16> strippedArgs; 3233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair getStrippedArgs(strippedArgs, args, 2); 3333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair if (priority == PRIORITY_ARG_CRITICAL) { 3433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dumper.dumpCritical(fd, strippedArgs); 3533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } else if (priority == PRIORITY_ARG_HIGH) { 3633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dumper.dumpHigh(fd, strippedArgs); 3733fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } else if (priority == PRIORITY_ARG_NORMAL) { 3833fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dumper.dumpNormal(fd, strippedArgs); 3933fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } else { 4033fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dumper.dump(fd, args); 4133fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } 4233fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } else { 4333fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair dumper.dump(fd, args); 4433fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair } 4533fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} 4633fd3be6088bfacaf659108bad67d24103494aa1Vishnu Nair} // namespace android