1cf3e5219a81a19773bc36368876deb378ad513bfLogan/* 2ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * Copyright 2010-2012, The Android Open Source Project 3cf3e5219a81a19773bc36368876deb378ad513bfLogan * 4ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * Licensed under the Apache License, Version 2.0 (the "License"); 5ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * you may not use this file except in compliance with the License. 6ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * You may obtain a copy of the License at 7cf3e5219a81a19773bc36368876deb378ad513bfLogan * 8ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * http://www.apache.org/licenses/LICENSE-2.0 9cf3e5219a81a19773bc36368876deb378ad513bfLogan * 10ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * Unless required by applicable law or agreed to in writing, software 11ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * distributed under the License is distributed on an "AS IS" BASIS, 12ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * See the License for the specific language governing permissions and 14ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang * limitations under the License. 15cf3e5219a81a19773bc36368876deb378ad513bfLogan */ 16cf3e5219a81a19773bc36368876deb378ad513bfLogan 17c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/Script.h" 18cf3e5219a81a19773bc36368876deb378ad513bfLogan 19c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/Source.h" 20033f46ea98d154040fbfcf9ee844f09e6aceebc6Logan 21ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Changusing namespace bcc; 2297c92c2d0604ea9cc4cd878f0f1901efc79c8835Stephen Hines 23d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liaobool Script::reset(Source &pSource, bool pPreserveCurrent) { 24d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao if (mSource == &pSource) { 25d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao return false; 26ead5ccba05af33df1a061b39847a9be137c00143Stephen Hines } 27ead5ccba05af33df1a061b39847a9be137c00143Stephen Hines 28d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao if (!pPreserveCurrent) { 29d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao delete mSource; 3097c92c2d0604ea9cc4cd878f0f1901efc79c8835Stephen Hines } 31d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao mSource = &pSource; 32ccc39a8f412edaec2d231ed1ec70ff25fa83af37Zonr Chang return doReset(); 33d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao} 3497c92c2d0604ea9cc4cd878f0f1901efc79c8835Stephen Hines 35579361346abc6696c805e3904a18178ebce4e4a3Stephen Hinesbool Script::mergeSource(Source &pSource) { 36579361346abc6696c805e3904a18178ebce4e4a3Stephen Hines return mSource->merge(pSource); 37d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao} 38