Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Unified Diff: common/xml_parser.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/xml_const.cc ('k') | common/xml_parser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/xml_parser.h
diff --git a/common/xml_parser.h b/common/xml_parser.h
deleted file mode 100644
index 551b6cb5f237ab652e359135a68740850cca8fbe..0000000000000000000000000000000000000000
--- a/common/xml_parser.h
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2009-2010 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-//
-// Defines the Goopdate XML parser. The clients of this class are
-// UpdateRequest and UpdateResponse.
-
-#ifndef OMAHA_COMMON_XML_PARSER_H_
-#define OMAHA_COMMON_XML_PARSER_H_
-
-#include <windows.h>
-#include <objbase.h>
-#include <msxml2.h>
-#include <atlbase.h>
-#include <atlstr.h>
-#include <map>
-#include <vector>
-#include "base/basictypes.h"
-#include "base/object_factory.h"
-#include "omaha/common/const_goopdate.h"
-#include "omaha/common/update_request.h"
-#include "omaha/common/update_response.h"
-
-namespace omaha {
-
-namespace xml {
-
-class ElementHandler;
-
-CString ConvertProcessorArchitectureToString(DWORD processor_architecture);
-
-// Public static methods instantiate a temporary instance of this class, which
-// then parses the specified document. This avoids reusing instances of the
-// parser and dealing with stale and dirty data.
-class XmlParser {
- public:
- // Parses the update response buffer and fills in the UpdateResponse. In case
- // of errors, the UpdateResponse object may contain partial information up
- // to the point of the parsing error.
- // TODO(omaha): since the xml docs are strings we could use a CString as
- // an input parameter, no reason why this should be a buffer.
- static HRESULT DeserializeResponse(const std::vector<uint8>& buffer,
- UpdateResponse* update_response);
-
- // Generates the update request from the request node.
- static HRESULT SerializeRequest(const UpdateRequest& update_request,
- CString* buffer);
-
- private:
- typedef Factory<ElementHandler, CString> ElementHandlerFactory;
-
- XmlParser();
- void InitializeElementHandlers();
- void InitializeLegacyElementHandlers();
-
- // Builds an XML object model corresponding to an xml request.
- HRESULT BuildDom(const request::Request& request);
-
- // Builds the 'request' element.
- HRESULT BuildRequestElement();
-
- // Creates the 'os' element.
- HRESULT BuildOsElement(IXMLDOMNode* parent_node);
-
- // Creates the 'app' element. This is usually a sequence of elements.
- HRESULT BuildAppElement(IXMLDOMNode* parent_node);
-
- // Creates the 'updatecheck' element for an application.
- HRESULT BuildUpdateCheckElement(const request::App& app,
- IXMLDOMNode* parent_node);
-
- // Creates Ping aka 'event' elements for an application.
- HRESULT BuildPingRequestElement(const request::App& app,
- IXMLDOMNode* parent_node);
-
- // Creates the 'data' element for an application.
- HRESULT BuildDataElement(const request::App& app,
- IXMLDOMNode* parent_node);
-
- // Creates the 'didrun' aka 'active' aka 'ping' element for an application.
- HRESULT BuildDidRunElement(const request::App& app,
- IXMLDOMNode* parent_node);
-
- // Serializes the DOM into a string.
- HRESULT GetXml(CString* buffer);
-
- // Creates an element in the Update2 xml namespace.
- HRESULT CreateElementNode(const TCHAR* name,
- const TCHAR* value,
- IXMLDOMNode** element);
-
- // Starts parsing of the xml document.
- HRESULT Parse();
-
- // Does a DFS traversal of the dom.
- HRESULT TraverseDOM(IXMLDOMNode* node);
-
- // Handles a single node during traversal.
- HRESULT VisitElement(IXMLDOMNode* node);
-
- // The current xml document.
- CComPtr<IXMLDOMDocument> document_;
-
- // The xml request being serialized. Not owned by this class.
- const request::Request* request_;
-
- // The xml response being deserialized. Not owned by this class.
- response::Response* response_;
-
- ElementHandlerFactory element_handler_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(XmlParser);
-};
-
-} // namespace xml
-
-} // namespace omaha
-
-#endif // OMAHA_COMMON_XML_PARSER_H_
« no previous file with comments | « common/xml_const.cc ('k') | common/xml_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698