Still more licence fixups.
[libdcp.git] / src / ref.cc
1 /*
2     Copyright (C) 2015 Carl Hetherington <cth@carlh.net>
3
4     This file is part of libdcp.
5
6     libdcp is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     libdcp is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with libdcp.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #include "ref.h"
21
22 using std::list;
23 using boost::shared_ptr;
24 using namespace dcp;
25
26 /** Look through a list of assets and copy a shared_ptr to any asset
27  *  which matches the ID of this one.
28  */
29 void
30 Ref::resolve (list<shared_ptr<Asset> > assets)
31 {
32         list<shared_ptr<Asset> >::iterator i = assets.begin();
33         while (i != assets.end() && !ids_equal ((*i)->id(), _id)) {
34                 ++i;
35         }
36
37         if (i != assets.end ()) {
38                 _asset = *i;
39         }
40 }