1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef COMPONENTS_NACL_COMMON_PNACL_TYPES_H_ 6 #define COMPONENTS_NACL_COMMON_PNACL_TYPES_H_ 7 8 // This file exists (instead of putting this type into nacl_types.h) because 9 // nacl_types is built into nacl_helper in addition to chrome, and we don't 10 // want to pull src/url/ into there, since it would be unnecessary bloat. 11 12 #include "base/basictypes.h" 13 #include "base/time/time.h" 14 #include "url/gurl.h" 15 16 namespace nacl { 17 // Cache-related information about pexe files, sent from the plugin/renderer 18 // to the browser. 19 // 20 // If you change this, you will also need to update the IPC serialization in 21 // nacl_host_messages.h. 22 struct PnaclCacheInfo { 23 PnaclCacheInfo(); 24 ~PnaclCacheInfo(); 25 GURL pexe_url; 26 int abi_version; 27 int opt_level; 28 base::Time last_modified; 29 std::string etag; 30 }; 31 32 // Progress information for PNaCl on-demand installs. 33 struct PnaclInstallProgress { 34 int64 current; 35 int64 total_size; 36 37 // Returns an instance of PnaclInstallProgress where the 38 // total is marked as unknown. 39 static PnaclInstallProgress Unknown(); 40 41 // Returns true if the given instance of PnaclInstallProgress has 42 // an unknown total. 43 static bool progress_known(const PnaclInstallProgress& p); 44 }; 45 46 } // namespace nacl 47 48 #endif // COMPONENTS_NACL_COMMON_PNACL_TYPES_H_ 49