From: José Fonseca Date: Fri, 27 Jan 2012 22:06:51 +0000 (+0000) Subject: Remove trace_copier. X-Git-Url: https://git.cworth.org/git?p=apitrace;a=commitdiff_plain;h=630471a20c46045950a0f8285d2150ab1f90d9c8 Remove trace_copier. It does pretty much the same as trace_writer_model. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 538ca8e..22f7677 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,7 +278,6 @@ add_library (common STATIC common/trace_file_write.cpp common/trace_file_zlib.cpp common/trace_file_snappy.cpp - common/trace_copier.cpp common/trace_model.cpp common/trace_parser.cpp common/trace_parser_flags.cpp diff --git a/cli/cli_trim.cpp b/cli/cli_trim.cpp index b35e144..0422262 100644 --- a/cli/cli_trim.cpp +++ b/cli/cli_trim.cpp @@ -31,7 +31,7 @@ #include "os_string.hpp" #include "trace_parser.hpp" -#include "trace_copier.hpp" +#include "trace_writer.hpp" static const char *synopsis = "Create a new trace by trimming an existing trace."; @@ -85,11 +85,12 @@ command(int argc, char *argv[]) std::string output = std::string(base.str()) + std::string("-trim.trace"); - trace::Copier copier(output.c_str()); + trace::Writer writer; + writer.open(output.c_str()); trace::Call *call; while ((call = p.parse_call())) { - copier.visit(call); + writer.writeCall(call); delete call; } diff --git a/common/trace_copier.cpp b/common/trace_copier.cpp deleted file mode 100644 index 89aa97f..0000000 --- a/common/trace_copier.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/********************************************************************* - * - * Copyright 2010 VMware, Inc. - * Copyright 2011 Intel Corporation - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - *********************************************************************/ - -#include "trace_copier.hpp" - -namespace trace { - -Copier::Copier(const char *filename) : writer() { - writer.open(filename); -} - -Copier::~Copier() { - writer.close(); -} - -void Copier::visit(Null *) { - writer.writeNull(); -} - -void Copier::visit(Bool *node) { - writer.writeBool(node->value); -} - -void Copier::visit(SInt *node) { - writer.writeSInt(node->value); -} - -void Copier::visit(UInt *node) { - writer.writeUInt(node->value); -} - -void Copier::visit(Float *node) { - writer.writeFloat(node->value); -} - -void Copier::visit(Double *node) { - writer.writeDouble(node->value); -} - -void Copier::visit(String *node) { - writer.writeString(node->value); -} - -void Copier::visit(Enum *node) { - writer.writeEnum(node->sig); -} - -void Copier::visit(Bitmask *bitmask) { - writer.writeBitmask(bitmask->sig, bitmask->value); -} - -void Copier::visit(Struct *s) { - writer.beginStruct(s->sig); - for (unsigned i = 0; i < s->members.size(); ++i) { - _visit(s->members[i]); - } -} - -void Copier::visit(Array *array) { - if (array->values.size()) { - writer.beginArray(array->values.size()); - for (std::vector::iterator it = array->values.begin(); it != array->values.end(); ++it) { - _visit(*it); - } - writer.endArray(); - } else { - writer.writeNull(); - } -} - -void Copier::visit(Blob *blob) { - writer.writeBlob(blob->buf, blob->size); -} - -void Copier::visit(Pointer *p) { - writer.writeOpaque((void *)p->value); -} - -void Copier::visit(Call *call) { - unsigned __call = writer.beginEnter(call->sig); - for (unsigned i = 0; i < call->args.size(); ++i) { - writer.beginArg(i); - _visit(call->args[i]); - writer.endArg(); - } - writer.endEnter(); - writer.beginLeave(__call); - if (call->ret) { - writer.beginReturn(); - _visit(call->ret); - writer.endReturn(); - } - writer.endLeave(); -} - -} diff --git a/common/trace_copier.hpp b/common/trace_copier.hpp deleted file mode 100644 index 8df50f8..0000000 --- a/common/trace_copier.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/********************************************************************* - * - * Copyright 2011 Intel Corporation - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - *********************************************************************/ - -#ifndef _TRACE_COPIER_HPP_ -#define _TRACE_COPIER_HPP_ - -#include "trace_writer.hpp" - - -namespace trace { - -class Copier: public Visitor -{ -protected: - trace::Writer writer; - -public: - Copier(const char *); - ~Copier(); - virtual void visit(Null *); - virtual void visit(Bool *); - virtual void visit(SInt *); - virtual void visit(UInt *); - virtual void visit(Float *); - virtual void visit(Double *); - virtual void visit(String *); - virtual void visit(Enum *); - virtual void visit(Bitmask *); - virtual void visit(Struct *); - virtual void visit(Array *); - virtual void visit(Blob *); - virtual void visit(Pointer *); - virtual void visit(Call *call); -}; - -} - -#endif /* _TRACE_COPIER_HPP_ */