David Cameron takes a swipe in energy war